La ventana de comandos de MATLAB

Anuncio
A-1Comenzando en MATLAB en Windows
Para comenzar con MATLAB, basta hacer doble clic en el ícono de acceso
directo al programa situado en el escritorio de Windows (Figura 2.22). Alternativamente
sino existe ícono de acceso directo en el escritorio lo mas común y sencillo para ejecutar
el programa es elegir la opción programas del menú inicio de Windows y seleccionar la
opción MATLAB 7.0 (A1). De cualquiera de las formas que ejecutemos MATLAB, el
programa presenta la pantalla temporal y a continuación la pantalla inicial del programa
de la Figura 2.24
Figura A1
A-2 Entorno de trabajo de MATLAB
La pantalla de entrada de MATLAB (Figura 2.24) constituye el marco de trabajo
general del programa. Los elementos más importantes de esta pantalla de inicio de
MATLAB (Figura 2.24) son los siguientes
Command Windows (ventana de comandos): ejecuta las funciones de MATLAB.
Command History (historial de comandos): Presenta una historial de todas las funciones
introduciodas en la ventana de comandos y permite copiarlas y ejecutarlas.
Current directory (directorio actual): muestra ficheros MATLAB y ejecuta operaciones
de ficheros tales como abrir y buscar contenido.
Help (ayuda): muestra y busca documentación para la familia completa de productos
MATLAB.
Worksapce (espacio de trabajo): muestra y realiza cambios en el contenido del espacio
de trabajo
Array editor: muestra contenido de arrays en formato de tabla y edita sus valores.
Editor/debugeger : crea, edita y comprueba M-ficheros (ficheros que contienen sintaxis
de funciones MATLAB y).
A-3 La ventana de comandos de MATLAB
La ventana de comandos de MATLAB (Figura 2.26) es el camino principal para
comunicarse con MATLAB. Aparece en el escritorio cuando se inicia MATLAB y se
utiliza para ejecutar funciones y todo tipo de operaciones. Las entradas a ejecutar se
escriben a continuación del prompt >> y, una vez completadas se pulsa Enter. En
primera línea de la figura 2.27 se define una matriz, y al pulsar Enter se obtiene como
salida la propia matriz.
Cada vez que MATLAB ejecuta alguna acción, el resultado se escribe en la pantalla y el
resultado de la operación realizada se guarda en workspace . Para suprimir la escritura
del resultado y que el resultado se guarde en el workspace es necesario escribir punto y
coma (;) después de escribir la operación que deseamos realizar, por ejemplo
>> 10+6 <ENTER>
ans =
16
>> 10+6; <ENTER>
>>
Para borrar las variables se usa la instrucción clear
>> clear A
>>
Borra solo la variable A, mientras que
>> clear
>>
que se hayan definido desde que se empezó la sesión actual de MATLAB
Para borrar la pantalla se usa el comando
>> clc
El comando solo borra la pantalla de command Windows sin borrar las variables
de las operaciones realizadas desde que se abrió la sesión.
Variables, Números, Operadores y Funciones
Variables
MATLAB no requiere ningún tipo de comando para declarar variables,
sencillamente crea la variable mediante la asignación directa de su valor. Por ejemplo:
>> v=5
v=
5
La variable v valdrá 5 mientras no se cambie su valor mediante una nueva
asignación. Una ves declarada la variable podemos utilizarla en cálculos
>> v^3
ans =
125
>> v+5
ans =
10
El valor asignado a una variable es permanente hasta que no se cambie de forma
forma expresa o hasta que no se salga de la presente sesión de MATLAB
La variable v la consideraremos ahora como 10, a partir de este momento tal y
como se observa en el calculo siguiente
>> v=10
v=
10
>> v^3
ans =
1000
Variables Vectoriales
Para representar un vector de n elementos se puede definir en MATLAB una
variable de las siguientes formas
V=[v1, v2, v3, . . . , vn]
V=[v1 v2 v3 . . . vn]
Cuando los elementos de una matriz son separados por una coma sin embargo es
posible eliminar la coma dándole un espacio de separación, como se indica
anteriormente
V=[v1, v2, v3, . . . , vn]
>> vector1=[2 9 25 144]
vector1 =
2
9
25 144
>> sqrt(vector1)
ans =
1.4142
3.0000
5.0000 12.0000
>> V=[v1, v2, v3, . . . , vn]
Existen diferentes formas de definir una variable vectorial sin necesidad de
explicitar entre corchetes todos sus elementos separados por comas o espacios en
blanco. Se presenta la tabla siguiente.
variable=[a:b]
variable=[a:s:b]
Define el vector cuyos primero y ultimo
elemento son a y b, respectivamente y los
elementos intermedios se diferencian en
una unidad
Define el vector cuyos primero y ultimo
elemento son a y b, respectivamente y los
elementos intermedios se diferencian en la
cantidad s especificada por el incremento
Define el vector cuyos primero y ultimo
elemento son a y b y que tiene en total n
elementos uniformemente espaciados
entre si
Define el vector cuyos primero y ultimo
elemento son los especificados y que tiene
en total n elementos en escala logarítmica
uniformemente espaciados entre si
variable=linspace[a,b,n]
variable=logespace[a,b,n]
A continuación se presental algunos ejemplos
>> vector2=[2:10]
vector2 =
2
3
4
5
6
7
8
9
10
Hemos obtenidos los números entre 2 y 10 separados por una unidad
>> vector3=[3:3:15]
vector3 =
3
6
9
12
15
Hemos obtenido los números entre 3 y 15 separados por tres unidades
>> vector4=linspace(10,30,6)
vector4 =
10
14
18
22
26
30
>> vector5=logspace(10,30,6)
vector5 =
1.0e+030 *
0.0000
0.0000
0.0000
0.0000
0.0001
1.0000
A-4 Operaciones Aritméticas
Las operaciones aritméticas en MATLAB se definen de acuerdo con las
convenciones matemáticas estándar. MATLAB es un programa interactivo que permite
realizar de manera sencilla gran variedad de operaciones matemáticas. MATLAB asume
las operaciones aritméticas habituales de suma, diferencia, producto, división y
potencia, con las jerarquías habituales entre ellas.
Operación aritmética
Suma
Diferencia
Producto
División
Potencia
Símbolo
+
*
/
^
Ejemplo
x+y
x–y
x*y
x/y
x^y
Para sumar dos números teclee simplemente el primer número, un signo más (+),
el segundo numero y finalmente oprimir la tecla ENTER
>> 5 + 3
ans =
8
Podemos realizar el cálculo de una potencia directamente
>> 10^5
ans =
100000
A5 Graficación
Las tablas de datos muy grandes son difíciles de interpretar. Los ingenieros usan
técnicas de graficación para hacer que la información se entienda fácilmente. Con una
grafica es fácil identificar tendencias, elegir altos y bajos y aislar los puntos de datos
que pueden ser mencionados o cálculos de errores. Las graficas también se pueden usar
como una rápida verificación para determinar si una solución de computadora produce
los resultados esperados.
A-5.1 Graficas bidimensionales
La grafica mas útil para los ingenieros es la grafica x-y. Un conjunto de pares
ordenados se usa para identificar puntos sobre una grafica bidimensional. Luego los
puntos se conectan con líneas rectas. Los valores x-y se pueden medir o calcular. Por lo
general, a la variable independiente se le da el nombre de x y se grafica en el eje x, y la
variable dependiente recibe el nombre de y y se grafica en el eje y.
Graficación básica
A-5.2 Graficas x-y simples
Una vez definidos los vectores de valores x y valores y, MATLAB hace fácil la
creación de graficas. Suponga, a través de medición, si obtiene un conjunto de datos
tiempo contra desplazamiento.
Se pueden almacenar los valores de tiempo en un vector llamado x (el usuario
puede definir cualquier nombre conveniente) y los valores de distancia en un vector
llamado y:
Para graficar estos puntos use el comando plot, con x y y como argumentos:
Automáticamente se abre una ventana grafica, la que MATLAB llama figura 1
en la figura xx se muestra la grafica resultante (pueden ocurrir pequeñas variaciones en
la escala dependiendo del tipo de computadora y tamaño de graficas).
A-5.3 Títulos, etiquetas y retículas
La buena practica ingieneril requiere se incluyan unidades y un titulo en las
graficas. Los siguientes comandos agregan un titulo etiquetas a los ejes x-y, y una
retícula de fondo
Estos comandos generan la grafica de la figura xxx . También se pueden escribir
en una sola línea separados por comas.
A-5.4 Graficas con más de una línea
La creación de una grafica con más de una línea se puede lograr de muchas
formas, por defecto la ejecución de un segundo enunciado plot borrara la primera
grafica. Sin embargo puede apilar las graficas unas encima de otras con el comando
hold on. Ejecute los siguientes enunciados para crear una grafica con ambas funciones
graficadas en la misma grafica, como se muestra en la figura 4x
Los puntos y comas con opcionales tanto en el enunciado plot como en el
enunciado hold on. MATLAB continuara poniendo en capas las graficas hasta que se
ejecute el comando hold off.
Otra forma de crear un grafico con múltiples líneas es solicitar ambas líneas en
un solo comando plot. MATLAB interpreta la entrada a plot como vectores alternos xy, como en
plot (x1, y1 , x2 , y2 )
Donde las variables x1- y1 forman un conjunto ordenado de valores a graficar y
x2-y2 forman un segundo conjunto ordenado de valores. Con los datos del ejemplo
anterior,
plot(x, y1 , x , y2)
Produce la misma grafica que la figura 4x, con una excepción: las dos líneas
tienen colores diferentes. MATLAB usa un color de graficación por defecto (azul) para
la primera línea dibujada en un comando plot en el enfoque hold on cada línea se
dibuja en un comando plot separado y por tanto, es el mismo color. Al solicitar dos
líneas en un solo comando, como en plot(x, y1 , x , y2) la segunda línea por defecto es
verde lo que permite que el usuario distinga las dos graficas.
Si la función plot se llama con un solo argumento de matriz, MATLAB dibuja
una línea separada para cada columna de la matriz. El eje x se etiqueta con el vector
índice fila 1:k, donde k es el número de filas en la matriz esto produce una grafica
igualmente espaciada, a veces llamada grafica línea. Si plot se llama con dos
argumentos, uno un vector y el otro una matriz, MATLAB grafica sucesivamente una
línea para cada fila en la matriz. Por ejemplo se pueden combinar y1-y2 en una sola
matriz y graficar contra x
y = [y1;y2];
plot (x, y)
Esto crea la misma grafica que la figura 4x, con cada línea en un color diferente
He aquí otro ejemplo mas complicado:
A-6 Scripts
Los scripts son el tipo de M-fichero más sencillo posible. Un script no tiene
argumento de entrada ni de salida. Sencillamente esta formado por instrucciones
MATLAB que se ejecutan secuencialmente y que podrían submitirse igualmente en
serie en la ventana de comandos. Los scripts operan con datos existentes en el espacio
de trabajo o con nuevos datos creados por el propio script. Cualquier variable que se
cree mediante un script permanecerá en el espacio de trabajo y podrá utilizarse en
cálculos posteriores después de finalizar en script.
A continuación se presenta un ejemplo de script que genera varias curvas en
coordenadas polares representando pétalos de flores. Una vez escrita la sintaxis de script
en el editor (Figura 8.6) se guarda en la librería de trabajo (work) y simultáneamente se
ejecuta, haciendo clic en el botón
o utilizando la opción save and run del menú
debug (o presionado F5). Para pasar de un grafico al siguiente basta con pulsar ENTER.
Como ejemplo construimos un M-Fichero de nombre ecuación2.m que contiene
la función ecuacion2, cuyos argumentos son los tres coeficientes de la ecuación de
segundo grado ax2  bx  c  0 y cuyas salidas son sus dos soluciones (Figura 8-13).
La ecuación ax2  bx  c  0 se puede resolver de la siguiente manera
Ajuste de curvas
Aunque se podrian usar técnicas de interpolación para encontrar valores de y
entre valores de x medidos, seria más conveniente si se pudieran modelar los datos
experimentales como y=f(x). Entonces se podria calcular cualquier valor de y que se
quisiera. Si se sabe algo acerca de la relación que existe entre x e y, podria ser capaz de
determinar una ecuación sobre la base de dichos principios por ejemplo la ley del gas
ideal se basa en dos suposiciones subyacentes:
Todas las moléculas en un gas chocan elásticamente
Las moléculas no ocupan espacio en su contenedor
Ninguna de estas suposiciones es completamente precisa de modo que la ley del
gas ideal funciona solo cuando hay una buena aproximación de la realidad, pero esto es
cierto para muchas situaciones, y la ley del gas ideal es extramadamente valiosa. Sin
embargo, cuando los gases reales se desvían de esta relación simple, se tienen dos
opciones para modelar su comportamiento: se puede intentar entender la física de la
situación y ajustar la ecuación en concordancia o se pueden tomar los datos y
modelarlos empíricamente. Las ecuaciones empiricas no se realcionan con la teoría
alguna de porque ocurre un comportamiento; solo hacen un buen trabajo de predicción
acerca de cómo cambia un parámetro en relación con otro parámetro.
MATLAB tiene funciones internas de ajuste de curvas que le permiten modelar
los datos empíricamente. Es importante recordar que estos modelos son buenos solo en
la región donde se recopilaron los datos. Si no se entiende porque, un parámetro como y
cambia como lo hace con x, no puede predecir si la ecuación de ajuste de datos todavía
funcionara afuera del rango donde se recopilaron los datos.
A-7 Regresión lineal
La forma mas simple de modelar un conjunto de datos en una línea recta.
Consideremos los siguientes datos
x= 0:5;
y=[15, 10, 9, 6, 2, 0];
Si graficamos los datos como se muestra en la Figura (anterior ) , puede
intentar dibujar una línea recta a través de los puntos de datos para obtener un modelo
burdo del comportamiento de los datos. Este procedimiento a veces se denomina “a ojo
de buen cubero”, lo que significa que no se realizaron cálculos, pero que parece un
buen ajuste.
Al observar la grafica puede ver que muchos de los puntos parecen caer
exactamente en la línea recta, pero otros están fuera por cantidades variables. Para
comparar la cantidad del ajuste de esta línea con otros posibles estimados se debe
encontrar la diferencia entre el valor y real y el valor calculado del estimado.
Se puede encontrar la ecuación de la línea recta de la figura (anterior) al notar
que x=0 , y=15 y 5=5, y=0. por tanto, la pendiente de la línea es
elevación y y2  y1 0  15



 3
carrera
x x2  x1
50
La línea recta cruz el eje x en 15, de modo que la ecuación de la línea es
y  3x  15
La diferencia entre los valores reales y los valores calculados se representan en
la tabla número
Tabla ____ diferencia entre valores reales y calculados
x
y(real)
0
1
2
3
4
5
15
10
9
6
2
0
y_cal(calculado)
15
12
9
6
3
0
Diferencia =y-y_calc
0
-2
0
0
-1
0
La técnica de regresión lineal usa un enfoque llamado mínimos cuadrados para
comparar que tan diferentes son las ecuaciones que modelan el comportamiento de los
datos. En esta técnica, las diferencias entre los valores reales y calculados se elevan al
cuadrado y se suman. Esto tiene la ventaja de que las desviaciones positivas y negativas
no se carcelan mutuamente. Se podría usar MATLAB para calcular este parámetro para
los datos, se tiene
Sum_de_cuadrados = sum((y-y_calc).^2)
Que produce
Sum_de_cuadrados = 5
Esta mas allá del propósito de este apéndice explicar como funciona la técnica
de regresión lineal excepto decir que compara diferentes modelos y elige el modelo en
el que la suma de los cuadrados es la mas pequeña. La regresión se logra en MATLAB
con la función polyfit. Se requieren tres campos para polyfit: un vector de valor x, un
vector de valores y e un entero que indique que orden de polinomio se usaría para
ajustar los datos. Dado que una línea recta es un polinomio de primer orden se ingresara
el número uno en la función polyfit:
polyfit(x,y,1)
asn=-2.9143 14.2857
los resultados son los coeficientes correspondientes a la ecuación polinomial de primer
orden de mejor ajuste:
y  2.9143x  14.2857
¿Realmente esto es un mejor ajuste que el modelo “de buen cubero”? Se puede
calular la suma de los cuadrados para encontrar:
best_y = -2.9143*x+14.2857;
new_sum = sum((y-best_y).^2)
new_sum =
3.3714
Dado que el resultado del calculo dela suma de cuadrados de hecho es menor
que el valor encontrado por la linea “buen cubero”, se puede concluir que MATLAB
encontró un mejor ajuste a los datos. Se puede graficar los datos y la linea de mejor
ajuste determinada por regresión lineal (véase la figura) para obtener un sentido visual
si la linea ajusta bien los dos datos
plot(x, y, ’0’, x, best_y)
Regresión polinomial
Desde luego, la líneas rectas no son las únicas ecuaciones que se podrían
analizar con la técnica de regresión. Por ejemplo un enfoque común es ajustar los datos
con
un
polinomio
de
orden
superior
de
la
forma
n
n1
n2
y  a0 x  a1 x  a2 x  ...  an1 x  an
La regresión polinomial se usa para obtener el mejor ajuste al minimizar la suma
de los cuadrados en las desviaciones de los valores caliculados de los datos. La función
polyfit le permite hacer esto fácilmente en MATLAB se puede ajustar los datos de
muestra a ecuaciones de segundo y tercero orden con los comandos
Que corresponden a las siguientes ecuaciones
y2  0.0536x 2  3.1821x  14.4643
y3  0.0648x 3  0.5397x 2  4.0701x  14.6587
y4  0.1875x 4  1.9398x 3  6.2986x 2  9.4272x  14.9802
Para polinomios de orden superior se sigue la misma sintaxis
Consideremos el siguiente ejercicio con el propósito de mostrar otro
procedimiento
Consideremos un conjunto de temperaturas medidas sobre las cabezas de los
cilindros de un motor que se encuentra en periodo de pruebas para utilizar en coches de
carreras, los tiempos de funcionamiento del motor en segundos y las temperaturas en
grados Fahrenheit son las siguientes
Tiempos
0
Temperaturas 0
1
20
2
60
3
68
4
77
5
110
Realice una regresión lineal que ajuste las temperaturas en función de los
tiempos, realice también el ajuste mediante regresiones polinomicas de grado 2 , 3 y 4
representando los resultados.
Para realizar el mejor ajuste de los datos a un modelo líneal se utiliza la siguiente
sintaxis:
Se observa que el modelo lineal ajustado tiene de ecuación:
y  20.8286x  3.7619
La representación grafica de la nube de puntos y la recta ajustada sobre los
mismos ejes (Figura 6.8 ) puede realizarse como sigue
Para realizar el mejor ajuste de los datos a un modelo polinomial cuadrático se usara la
siguiente sintaxis.
Se observa que el polinomio de segundo grado ajustado tiene de ecuación:
y  1.0536x 2  26.0964x  0.25
La representación grafica de la nube de puntos y el polinomio de segundo grado
ajustado sobre los mismos ejes (Figura 6.9) puede realizarse como sigue
Para realizar el mejor ajuste de los datos a un modelo polinomial cubico se usara
la siguiente sintaxis
Se observa que el polinomio de tercer grado ajustado tiene la ecuación
y  1.1019x3  9.3175x 2  41.1918x  3.0556
La presentación grafica de la nube de puntos y el polinomio de tercer grado
ajustado sobre los mismos ejes (Figura 6.10).
Para realizar el mejor ajuste de los datos a un modelo polinomial de cuarto grado
se utiliza la siguiente sintaxis.
Se observa que el polinomio de cuarto grado ajustado tiene de ecuación
y  1.5625x 4  14.5231x3 38.6736x 2  3.4511x  0.3770
La representación grafica de la nube de puntos y del polinomio de cuarto grado
ajustado sobre los mismos ejes (Figura 6.11) puede realizarse como sigue
Podemos observar que la mejor regresión es el polinomio de cuarto grado, ya
que la curva para por mayor cantidad de puntos que en los casos anteriores.
Documentos relacionados
Descargar