Está en la página 1de 13

MATLAB

Zuleima Velzquez Leal


El paquete MATLAB es un entorno interactivo basado en el clculo de matrices. En este seminario nos proponemos dar una introduccin bsica al manejo de este programa.

CONTENIDOS
y y y y y y

1. Acceso a MATLAB 2. Operaciones aritmticas 3. Vectores y matrices 4. Operaciones con matrices 5. Polinomios 6. Programacin con MATLAB

1. ACCESO A MATLAB
Se inicia ejecutando la aplicacin MATLAB dentro del entorno que estamos utilizando (en nuestro caso un PC y un sistema operativo de tipo WINDOWS). A continuacin, aparecer una ventana (que llamamos ventana de rdenes). Para comunicarse con MATLABel usuario debe escribir los datos o instrucciones (que mostramos en color rojo con letra mquina de escribir) a continuacin del smbolo EDU>>. Una vez escrito lo que desea el usuario, si se pulsa la tecla de retorno, aparece en color la instruccin tecleada. negro la respuesta dada por MATLAB a

Tengamos en cuenta que :


y y y y

MATLAB distingue entre maysculas y minsculas. Los comentarios, que vendrn en color morado, deben ir precedidos por % para que MATLAB los ignore. Las rdenes ejecutadas por MATLAB con anterioridad pueden recuperarse siempre con las teclas <ARRIBA> y <ABAJO>. Con diarynombre_fichero MATLAB ordena grabar en un fichero la sesin de todo lo que se ha visto por pantalla hasta que se ejecuta diary off. Si se quiere volver a guardar se ejecuta la de nuevo la orden diary off.

Para acceder a la ayuda de MATLAB basta teclear help en la ventana de rdenes, donde se puede encontrar informacin sobre

2. OPERACIONES ARITMTICAS
En MATLAB se pueden realizar las operaciones aritmticas siguientes: + Sumar Restar * Multiplicar / Dividir ^ Elevar a una potencia Cuando los clculos que se hacen no se asignan a una variable determinada se asignan por defecto a la variable de respuesta ans. Ejemplo. EDU>> 5+3 ans = 8 En cambio, cuando el clculo se asigna a una variable en concreto, el resultado queda guardado en ella. Ejemplo. EDU>> x=8+7 x = 15 Si queremos conocer el valor de una variable, es suficiente con escribir su nombre. Ejemplo. EDU>> x x = 15

Cuando aadimos un punto y coma (;) al final de una instruccin, entonces no se muestra la respuesta en la ventana de rdenes. Ejemplo. EDU>> y=6*8; ... pero no por ello deja de realizarse el clculo. EDU>> y y = 48 Existe un orden de prioridad en el que se efectan las operaciones: primero las potencias, despus las multiplicaciones y divisiones y, finalmente, las sumas y restas. Las operaciones de igual prioridad se evalan de izquierda a derecha. Ejemplos. EDU>> 2/4*3 ans = 1.5000 EDU>> 2/(4*3) ans = 0.1667 2. VECTORES Y MATRICES 3. Para definir un vector fila, es suficiente escribir sus coordenadas entre corchetes. Ejemplo: EDU>> v=[2 4 6] v= 2 4 6 EDU>> w=[1 2 3]; % Vector de 3 coordenadas

El operador ' es el de trasposicin (en realidad trasposicin y conjugacin): EDU>> w' ans = 1 2 3 Otra manera muy til en que podemos declarar vectores con MATLAB es la siguiente: supongamos que queremos construir un vector tal que la

diferencia entre dos cualesquiera de sus coordenas consecutivas sea una cantidad constante, por ejemplo, que la primera sea 0, la ltima 10 y la distancia entre dos consecutivas sea 2, basta escribir: EDU>> vector1=[0:2:10] vector1 = 0 2 4 6 8 10 Si lo que conocemos del vector es que la primera coordenada vale 0, la ltima 10 y que tiene 6 en total, escribiremos: EDU>> vector2=linspace(0,10,6)vector2 = 0 2 4 6 8 10 MATLAB permite acceder a partes especficas de un vector con la misma notacin que hemos utilizado para crearlos. Ejemplos. EDU>> vector2(1:3) %las tres primeras coordenadas de vector2 ans = 0 2 4 EDU>> vector2(3) %segunda coordenada de vector2 ans = 4 EDU>> vector2(1:2:4) %las dos primeras cordenadas impares de vector2 ans = 0 4 Casi todos los comandos bsicos de MATLAB se resuelven utilizando matrices. Las matrices 1x1 se ven como escalares y las matrices con una fila o columna se interpretan como vectores. En MATLAB las matrices se escriben como los vectores, pero separando las filas mediante un punto y coma o un retorno de carro. Ejemplos. EDU>> M=[1 2 3;4 5 6;7 8 9] %Asignamos a la variable M una %matriz 3x3 M = 1 2 3 4 5 6 7 8 9 EDU>> M' %Su traspuesta (su adjunta)

ans = 1 4 7 2 5 8 3 6 9 EDU>> N=[7 4 6 %Asignamos a la variable N una matriz 3x3 3 5 8 3 9 10] N = 7 4 6 3 5 8 3 9 10 Otra posibilidad para crear matrices es adjuntar vectores. Ejemplo. EDU>> L=[vector1 %Asignamos a la variable L una matriz 2x6 0 0 0 0 0 1] %resultado de adjuntar dos vectores L = 0 2 4 6 8 10 0 0 0 0 0 1 Cada elemento de una matriz (entrada) se identifica escribiendo el nombre de la matriz y, entre parntesis, sus respectivos ndices: Ejemplo. EDU>> L(1,3) %Elemento en la primera fila y tercera columna de L ans = 4 Tambin se puede acceder a un fila o columna entera. Ejemplo. EDU>> L(:,2) % Segunda columna de L ans = 2 0 EDU>> L(2,:) ans = 0 0 0 0 0 1 % Su segunda fila de L

Acceder a la matriz como si fuera una columna. Ejemplo. EDU>> L(3:10) % Las entradas tercera a dcima de L como columna ans = 2 0 4 0 6 0 8 0 o acceder a cualquiera de sus submatrices EDU>> L(1:2,[1 3]) elementos que y en la ans = 0 4 0 0 % Submatriz formada por los % estn en las dos primeras filas % primera y tercera columnas.

Se puede conocer siempre el tamao de una matriz y la longitud de un vector: EDU>> size(L) %Dimensiones de la matriz L (nmero de %filas y de columnas) ans = 2 6 EDU>> size(vector1) ans = 1 6 Podemos definir algunas matrices especiales como, por ejemplo, la matriz identidad:
EDU>> eye(3) ans = 1 0 0 0 1 0 0 0 1 La matriz cuyas entradas son todas uno: EDU>> ones(3) ans =

1 1 1 1 1 1 1 1 1 La matriz cuyas entradas son todas cero: EDU>> zeros(3) ans = 0 0 0 0 0 0 0 0 0

4.

OPERACIONES CON MATRICES


En MATLAB se pueden realizar las operaciones siguientes: + Sumar Restar * Multiplicar ^ Elevar a una potencia ' Trasponer Para operar dos matrices han de tener tamao compatible con esa operacin. MATLAB da lugar a a un mensaje de error, por ejemplo si se suman dos matrices no escalares con diferente nmero de filas o columnas. Ejemplos.

EDU>> B=[2 4;6 8]; EDU>> B*[1,2] ??? Error using ==> * Inner matrix dimensions must agree. EDU>> B*[1,2]' ans = 10 22 EDU>> C=B' C = 2 6 4 8 EDU>> 3*(B*C)^4 ans = 100005888 226068480 226068480 511039488

Una de las caractersticas de MATLAB es que dispone de un gran nmero de funciones que actan sobre un a matriz entrada a entrada. La suma, resta y producto por un escalar se realizan elemento a elemento, sin embargo, elevar a una potencia, multiplicar y dividir no. Estas operaciones pueden hacerse entrada a entrada anteponiendo un punto al smbolo de la operacin correspondiente: .*, ./ y .^ . Ejemplos. EDU>> A=[1 3 5; 7 9 11; 13 15 17]; A^3 % Calcula el producto AAA ans = 2421 6255 10089 3051 7857 12663 3681 9459 15237
% Calcula la potencia cbica de cada

EDU>> A.^3 entrada de A ans = 1 27 125 343 729 1331 2197 3375 4913

EDU>> log(A) ans = 0 1.9459 2.5649

% Calcula el logaritmo de cada entrada de A

1.0986 2.1972 2.7081

1.6094 2.3979 2.8332

5. POLINOMIOS
Con MATLAB se puede trabajar con polinomios de forma sencilla. Es suficiente tener en cuenta que un polinomio no es nada ms que un vector, en que el orden de los coeficientes va de mayor a menor grado. Ejemplos. EDU>> p=[3 5 2 8 6] p = 3 5 2 8 6 EDU>> q=[6 2 1 7 8] % 6*x^4+2*x^3+x^2+7*x+8 % 3*x^4+5*x^3+2*x^2+8*x+6

q = 6 2 1 7 8 Adems, MATLAB incluye funciones especficas para operar con polinomios. Por ejemplo,si queremos evaluar lo que vale un polinomio en un punto. Ejemplo. EDU>> polyval(p,-1) en x=-1 % Evaluacin de 3*x^4+5*x^3+2*x^2+8*x+6

ans = -2
Tambin es posible multiplicar dos polinomios. Ejemplo. EDU>> conv(p,q) % producto de p por q

ans = 1 36 25 78 113 74 78 106 48 O obtener el cociente que se obtiene al dividirlos. EDU>> deconv(p,q) % cociente resultado de dividir p entre q ans = 0.5000 EDU>> roots(p) ans = -1.7793 0.4292 + 1.1502i 0.4292 - 1.1502i -0.7458 % Raices del polinomio p

5.

PROGRAMACIN CON MATLAB


El sistema MATLAB incluye las instrucciones tpicas de un lenguaje estructurado: for, while e if.

5.1 CONSTRUCCIN for Con el bucle for se repite un conjunto de sentencias un nmero finito de veces. Su esquema general es:

for variable = expresin, sentencias, end o, lo que es lo mismo:


for variable = expresin

sentencias end En cada iteracin MATLAB guarda una columna de la expresin en la variable, ejecutndose las sentencias hasta la siguiente sentencia end.
Ejemplo. Para calcular un vector cuyas componentes son los cinco primeros nmeros naturales bastara con escribir el siguiente bucle en la lnea de rdenes:

EDU>> for i=1:5, v(i)=i, end v = 1 v = 1 2 v = 1 2 3 v = 1 2 3 4 v = 1 2 3 4 5 De esta forma vemos cmo se va construyendo el vector en cada iteracin. Si slo desamos saber el resultado final aadimos un punto y coma al final de la construccin del bucle: EDU>> for i=1:5, v(i)=i; end, v
EDU>> v=1 2 3 4 5

5.1 CONSTRUCCIN while


La construccin while repite un conjunto de sentencias mientras se cumpla una condicin. Su esquema general es: while condicin, sentencias

end
o, lo que es lo mismo: while condicin

sentencias end

5.1 CONSTRUCCIN if
La construccin if ejecuta un conjunto de sentencias si una condicin se cumple. Su forma general es: if condicin

sentencias end
Tambin existe la opcin de que se ejecute otro conjunto de sentencias si la condicin no se cumple: if condicin

sentencias else sentencias end


Lo ms practico cuando se programa en MATLAB es editar ficheros.m. Estos ficheros son ficheros de texto que contienen rdenes de MATLAB. Para utilizarlos se siguen los siguientes pasos:
y y y

1. Escribimos el fichero en el editor de MATLAB o en cualquier editor ASCII. 2. Lo guardamos con extensin .m. 3. Ejecutarlo escribiendo en la lnea de rdenes el nombre del fichero

Que es MATLAB? Matlab es un lenguaje de alto funcionamiento para computacin tcnica, Este integra computacin, visualizacin, y programacin, en un entorno fcil de usar donde los problemas y las soluciones son expresados en la ms familiar notacin matemtica. Los usos ms familiares de Matlab son: Matemtica y Computacin Desarrollo de algoritmos Modelamiento , simulacin y prototipado Anlisis de datos, exploracin y visualizacin Graficas cientficas e ingenieriles Desarrollo de aplicaciones, incluyendo construccin de interfaces graficas de usuario. MATLAB es un sistema interactivo cuyo elemento bsico de almacenamiento de informacin es la matriz, que tiene una caracterstica fundamental y es que no necesita dimensionamiento. Esto le permite resolver varios problemas de computacin tcnica (especialmente aquellos que tienen formulaciones matriciales y vectoriales) en una fraccin de tiempo similar al que se gastara cuando se escribe un programa en un lenguaje no interactivo como C o FORTRAN El nombre MATLAB simboliza Matriz Laboratorio o Laboratorio de Matrices. Matlab fue originalmente escrito para proveer fcil acceso el softrware de matrices desarrollado por los proyectos LINPACK y EISPACK, hoy, los mores de matlab incorporan las libreras LINPACK y BLAS, Matlab se ha desarrollado sobre un periodo de aos con entradas provenientes de muchos usuarios, en los entornos universitarios, matlab es la herramienta instructiva estndar para cursos avanzados e introductorios en matemticas, ingeniera y ciencia. En la industria Matlab es la herramienta escogida para investigacin de alta productividad, desarrollo y anlisis. Matlab presenta una familia de soluciones a aplicaciones especficas de acoplamiento rpido llamadas ToolBoxes. Los toolboxes son colecciones muy comprensibles de funciones MATLAB, o archivos de matlab (M-files) que extienden el entorno de MATLAB para resolver clases particulares de problemas, Algunas reas en las cuales existen toolboxes disponibles son: Procesamiento de seales Sistemas de control Redes neuronales Lgica difusa

Wavelets Simulacin El Sistema MATLAB El sistema Matlab consiste de cinco partes principales: Entorno de desarrollo: Es el conjunto herramientas y mdulos que ayudan a usar las funciones y archivos de matlab. Muchas de esas herramientas son interfaces graficas de usuario. Esto incluye, el escritorio de matlab, la ventana de comandos, el historial de comandos, un editor y un depurador, navegadores para revisin de la ayuda, el espacio de trabajo o workspace y los archivos. La librera de funciones matemticas: esta es una gran coleccin de algoritmos computacionales que van desde funciones elemnteles como la suma, la funcin seno y coseno, y la aritmtica de nmeros complejos hasta funciones mucho mas sofisticadas como inversas de matrices, autovalores de matrices, funciones de bessel, y transformadas radiadas de Fourier. El lenguaje MATLAB: Es un lenguaje de alto nivel para matrices con sentencias para control de flujo, creacin de funciones y estructuras de datos, funciones de entrada/salida y algunas caractersticas de programacin orientada por objetos, Este lenguaje permite tanto la programacin a pequea escala para la creacin rpida de programas, como programacin a larga escala para la realizacin de aplicaciones complejas. Grficas: Matlab cuenta con mdulos extensivos para la visualizacin de vectores y matrices en forma de graficas, as como para realizar comentarios e impresin de estas grficas. Matlab incluye funciones de alto nivel para la visualizacin de datos en dos y tres dimensiones, procesamiento de imgenes, animacin, y creacin de grficos de presentacin. Matlab tambin incluye funciones de bajo nivel que permiten personalizar completamente la apariencia de los grficos as como construir interfaces graficas de usuario para las aplicaciones. Interfaces Externas: Las interfaces externas son un conjunto de libreras que permiten la programacin en lenguaje C y FORTRAN de programas que interacten con matlab. Estas libreras proveen facilidades para realizar llamadas de rutinas desde Matlab.