PROGRAMACIÓN PROGRAMACIÓN EN MATLAB POR: GERARDO JACOME VERGARAY
[email protected]
INTRODUCCIÓN • MATLAB es una de las muchas sofisticadas herramientas de computación disponibles en el comercio para resolver problemas de mate matemá mátic ticas as,, ta tale less como como Ma Mapl ple, e, Ma Math them emat atic ica a y Ma Math thCa Cad. d. • El nombre mismo de MATLAB es una abreviatura de oratory,, laborato laboratorio rio matricial. matricial. Laboratory
Matrix
progrrama ama de compu omputtació ación n mate matemá máti ticco como como MA MATL TLAB AB sus sustitu tituy ye la • Un prog programación de computadoras más tradicionales. Esto no significa que el lector no deba aprender un lenguaje de alto nivel como C++ o FORTRAN, sino que los programas como MATLAB se han convertido en una una herr herram amie ien nta está estánd ndar ar par para inge ingeni nier eros os y cien cientí tífi ficcos. os.
AMBIENTE DE TRABAJO TRABAJO DE MA MATLAB
Area de trabaj trabajo o
Ventana de comandos
VARIABLES Y OPERADORES Los operadores operadores básicos básicos que usa Matlab Matlab son: ARITMÉTICOS • Suma: + esta:: • Resta • Multiplicación: * • División: / • Potencia: ^
VARIABLES Y OPERADORES LÓGICOS
Y RELACIONALES Permiten la comparación de escalares o de matrices elemento a elemento, los operadores elementales son: • < menor que • <= menor igual • == igual • > mayor que • >= mayor o igual • ~= no igual
VECTORES VECTORES Y POLINOMIOS Los vectores se introducen entre corchetes, y sus elementos están separados por espacios o por comas. >> v=[77 69 11 88] V= 77 69 11 88 Los elementos de los vectores se referencian usando índices entre entre paréntesis. paréntesis. Los índice en Matlab empieza en 1. >> v(2) ans= 69 >>v( >>v(2: 2:3) 3) ans= ans= 69 11 11
VECTORES VECTORES Y POLINOMIOS Los polinomios se representan representan por vectores, vectores, por ejemplo: x3+2x2+3x+4 se representa: representa: p=[1 2 3 4]; Mediante la función roots se puede encontrar las raíces de esa ecuación roots(p) Del mismo modo se puede calcular un polinomio a partir de sus raíces usando la función poly p2=p p2=pol oly( y([[-1 1 -2]) -2])
MATRICES
MATRICES Matlab tiene integrada muchas funciones programadas en forma eficiente y que agilizan la programación de algoritmos mas complicados. Un ejemplo es la inversión de matrices que permite la resolución de Sistemas lineales. En el caso que queremos calcular la inversa de A no tenemos que programar si no usar la función que viene Con el programa “inv()”
MATRICES Algunas operaciones mas: A’ calcula la transpuesta de A. A*B es el producto matricial entre A y B (los tamaños de A y B deben satisfacer las condiciones para que este producto se pueda calcular). A.*B es el producto interno o miembro a miembro entre A y B, para esto A y B deben tener la misma dimensión. A(:, A(:,1) 1) me da la prim primer eraa colu column mnaa de A. A(1, A(1,:) :) me da la prim primer eraa fila fila de A. A(1, A(1,2: 2:4) 4) me da las las colu olumnas2, 3 y 4 de A. A(1,[2 4]) me da las columnas 2 y 4 de A. A pued puedee tene tenerr más más de 3 dime dimens nsio ione ness al igua iguall que que en fortr ortran an.. size(A siz e(A)) me devuelve devuelve un vector vector con el tamaño tamaño de cada una de las dimensi dimensiones ones de A
MATRICES
MATRICES Cree variables MATLAB MATLAB para representar las siguientes matrices y úselas en los ejercicios que siguen:
MATRICES 1. Asigne a la variable x1 el valor en la segun und da columna de la matr triiz a. 2. Asigne a la variable x2 la tercera columna de la matr triiz b. 3. Asigne a la variable x3 la tercera fila de la matriz b. 4. Asigne a la variable x4 los valores en la matriz b a lo largo de la diagonal (es decir: elementos b1,1 , b2,2 y b2,3). 5. Asigne a la variable x5 los primeros tres valores en la matriz a como la primera fila y todos los valores en la matriz b como la segunda a la cuarta cuarta filas. filas.
FUNCIONES AVANZADAS • Existen una serie de funciones muy útiles en problemas de interpolación y funciones orientadas al análisis de datos como: min()
std()
max()
sum()
mean()
prod()
median()
….etc.
FICHEROS SCRIPTS • Matlab puede ejecutar programas que se encuentren almacenados en ficheros ASCII que tengan la extensión “.m”
GRÁFICAS Grafic icas as bási básica cass x – y • Graf
GRÁFICAS
GRÁFICAS Línea, color y estilo de marca Puede cambiar la apariencia de sus gráficas al seleccionar estilo y col color de línea defin finidos por el usuario y al elegir mostrar los puntos de datos en la grá gráfica fica con con est estilos ilos de mar marca defi defini nido doss por el usua usuari rio. o.
GRÁFICAS
GRÁFICAS
GRÁFICAS
GRÁFICAS
GRÁFICAS • El siguiente siguiente código modifica modifica la gráfica gráfica de la figura figura anterior anterior con los recuadros legend y text:
• Se agrega un titulo y etiquetas al eje x y al eje y, y se ajusta al eje
GRÁFICAS
GRÁFICAS
SUBGRÁFICAS
SUBGRÁFICAS
GRÁFICAS DE BARRAS Y DE PASTEL
GRÁFICAS DE BARRAS Y DE PASTEL
GRÁFICAS DE BARRAS Y DE PASTEL
GRÁFICAS X-Y, CON 2 EJES Y La función plotyy le permite crear una gráfica con dos ejes y , el de la izquierda para el primer conjunto de pares ordenados y el de la derecha para el segundo conjunto de pares Ordenados.
GRÁFICAS TRIDIMENSIONALES La función plot3 es similar a la función plot, excepto excepto que acepta datos en tres dimensiones. Sin embargo, en lugar de sólo proporcionar vectores X y Y , el usuario también debe proporcionar un vector vector Z .
GRÁFICAS TRIDIMENSIONALES
GRÁFICAS TRIDIMENSIONALES
EJEMPLO DE GRÁFICAS
Combine estas 4 graficas graficas en una sola con con la función subplot
PROGRAMACIÓN EN MATLAB elementos. La sintaxis es muy • Matlab permite programar una serie de elementos. parecido a la de cualquier lenguaje de programación.
• Todos estos operadores se pueden usar en un fichero .m BUCLES Y ESTRUCTURAS CONDICIONALES
Veremos algunos de los comandos de control de flujo de programas en Matl Ma tlab ab:: for y if-e if-els lse e.
PROGRAMA PROGRAMACIÓN CIÓN EN MATLABMATLAB- FOR
PROG PROGRA RAMA MACI CIÓN ÓN EN EN MATL MATLAB AB - IF
PROGRAMACIÓN EN MATLAB archivo o de texto texto • Load -> abrir un archiv extread(argumentos…) …) -> abrir un archivo de texto • Textread(argumentos fid=fopen ('salida_pr ('salida_prob11. ob11.txt','w txt','w'); '); • fid=fopen fprintf(fid,'El 'El promedio promedio es: %8.2f \n',prom2); \n',prom2); • fprintf(fid, fprintff ( argum argument entos) os) -> salid salida a de datos datos por por pant pantall alla a • fprint numero m:?'); -> ingreso por teclado • m=input('ingrese el numero
GRACIAS