Vous êtes sur la page 1sur 12

Computacin II MATLAB

INTRODUCCION A MATLAB Objetivo: Que el Alumno se familiarice con el entorno grafico, general de MATLAB. El nombre de MATLAB proviene de la contraccin de los trminos MATrix LABoratory y fue inicialmente concebido para proporcionar fcil acceso a las libreras LINPACK y EISPACK, las cuales representan hoy en da dos de las libreras ms importantes en computacin y clculo matricial. MATLAB es un entorno de computacin y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados clculos matemticos y la visualizacin grfica de los mismos. MATLAB integra anlisis numrico, clculo matricial, proceso de seal y visualizacin grfica en un entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que se escribiran tradicionalmente, sin necesidad de hacer uso de la programacin tradicional. En los medios universitarios MATLAB se ha convertido en una herramienta bsica, tanto para los profesionales e investigadores de centros docentes, como una importante herramienta para el dictado de cursos universitarios, tales como sistemas e ingeniera de control, lgebra lineal, proceso digital de imagen, seal, etc. En el mundo industrial MATLAB est siendo utilizado como herramienta de investigacin para la resolucin de complejos problemas planteados en la realizacin y aplicacin de modelos matemticos en ingeniera. Los usos ms caractersticos de la herramienta los encontramos en reas de computacin y clculo numrico tradicional, prototipaje algoritmico, teora de control automtico, estadstica, anlisis de series temporales para el proceso digital de seal. MATLAB es la disponibilidad de los toolboxes especializados. Estos son paquetes especializados, orientados a ingenieros, cientficos y otros tipos de profesionales tcnicos. Entre los ms destacados estn: Procesamiento de Seal The MATLAB C Math Library Matemticas Simblicas Procesamiento de Imagen The MATLAB Compiler Redes neuronales Estadistica Diseo de Sistemas de Control Control Robusto Identificacin de Sistemas Optimizacin Simulacin Diseo de control no lineal

Para iniciar MATLAB, seleccionamos el programa MATLAB de un men del sistema.

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
Y aparece la siguiente ventana de MATLAB, que nos dice que MATLAB est esperando que introduzcamos un comando.

En seguida se presentan comandos ms usados. o Para salir de MATLAB, use quit o exit. o El comando clc despeja la ventana de comandos, y el comando clf borra la figura actual y por tanto despeja la ventana de grficos. o El comando clear no afecta a las ventanas, pero si borra todas las variables de la memoria. o Para ver algunas de las capacidades de MATLAB, usar el comando demo, que inicia el MATLAB EXPO, un entorno grfico de demostracin que ilustra algunos tipos de operaciones que se pueden realizar con MATLAB. o Para abortar un comando en MATLAB, mantener presionada la tecla de control y oprima c (Ctrl. + c). Esto ocasiona una interrupcin local dentro del MATLAB. o Para acceder al men de ayuda se debe usar el comando help. o El simbolo denota el prompt de MATLAB y no se escribe al entrar instrucciones. o El ; al final de la instruccin omite el eco o salida a la pantalla.

Exhibicin de Nmeros: Comando en MatLab Exhibicin format short Por omisin format short e format long format long e format bank format hex format + 4 decimales 14 decimales 15 decimales 2 decimales exp. hexadecimal +, -, espacio

Ejemplo 2.3333 2.3333e+000 2.33333333333333 2.333333333333334e+000 2.33 4002aaaaaaaaaaab +

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
Operaciones Aritmticas: ESCALAR MATRIZ + + * / \ ^ * / \ VECTOR + .* ./ \. . DESCRIPCIN Adicin Sustraccin Multiplicacin Divisin hacia la derecha Divisin hacia la izquierda Transposicin

Nota: Operadores de matrices elemento a elemento . Operadores Relacionales: OPERADOR DESCRIPCIN < menor que <= menor o igual que > mayor que >= mayor o igual que == Igual ~= no igual Operadores Lgicos: OPERADOR DESCRIPCIN & Y (and) | O (or) ~ NO (not) Combinaciones: P Q falso Falso Falso verdadero Verdadero Falso Verdadero verdadero

~P Verdadero Verdadero Falso Falso

P |Q Falso Verdadero Verdadero verdadero

P&Q falso falso falso verdadero

Caracteres Especiales: CARACTERES DESCRIPCIN [] Se utilizan para formar vectores y matrices () Define precedencia en expresiones aritmticas. Encierra argumentos de funciones en forma usual , ; = . Separador de elementos de una matriz, argumentos de funciones y declaraciones en lneas con declaraciones mltiples Separador de declaraciones, termina renglones de una matriz Para hacer asignaciones Punto decimal Transpuesta de una matriz

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
% Para hacer comentarios

Ejemplos Bsicos >> 13/3 ans = 4.3333 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> 3\13 ans 4.3333 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> 4^11 ans 4194304 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> 2*pi^3 ans 62.01255336059963 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ a = [0 1 2 3 4 5 6 7 8 9 10] a= 0 1 2 3 4 5 6 7 8 9 10 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ b= a + 3 b= 3 4 5 6 7 8 9 10 11 12 13 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ t = 0:2:20 t= 0 2 4 6 8 10 12 14 16 18 20 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ c= a+b c= 3 5 7 9 11 13 15 17 19 21 23 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ d = [1; 3; 5] d= 1 3 5 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ d ans = 135

___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ f = [4; 6; 9] f= 4 6 9 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> d*f ??? Error using ===> * Inner matrix dimensions must agree. >> d.*f ans = 4 18 45 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> d * f ans = 469 12 18 27 20 30 45 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >>d.*f ??? Error using ==> .* Matrix dimensions must agree. ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> d*4 ans = 4 12 20 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >>f.*4 ans = 16 24 36 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >>a/7 ans = 0.1429 0.4286 0.7143

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> a./7 ans = 0.1429 0.4286 0.7143 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> d^f ??? Error using ==> ^ Matrix dimensions must agree. ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> d.^f ans = 1 729 1953125 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> d ^2 ??? Error using ==> ^ Matrix must be square. ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> d.^2 ans = 1 9 25 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> 3d ??? Error using ==> ^ Matrix must be square. ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >>3.^d ans = 3 17 243 Para entrar la matriz 0 2 3 4 y lo guardamos en una variable a, >> a = [1 2; 3 4] Para redisplay la matriz, simplemente teclee su nombre: >> a Primero elevemos al cuadrado la matriz a: >> a*a Ahora nosotros probaremos algo un poco ms dificultoso. Primero definimos una matriz b: >> b = [1 2; 0 1] Entonces nosotros computamos el producto a*b: >> a*b Finalmente, efectuamos el producto en el otro orden: >> b*a Sabemos que los dos productos son diferentes: porque la multiplicacin de matrices es no conmutativa. Por supuesto, tambin podemos sumar matrices: >> a + b Ahora guardemos el resultado de esta suma para que nosotros podamos usarlo despus: >> s = a + b Las matrices a veces puede invertirse: >> inv(s) Para verificar que esto es correcto, nosotros computamos el producto de s y su inverso: >> s * inv(s) El resultado es la unidad, o matriz de identidad. Tambin podemos escribir el cmputo como >> s/s tambin podemos escribir >> s\s qu es igual que >>inv(s) * s Para ver que estas operaciones son correctas y/o diferentes, nosotros hacemos lo siguiente: >> a/b >> a\b No todas las matrices pueden invertirse, o puede usarse como el denominador en la divisin de matrices: >> c = [1 1; 1 1] >> inv( c ); Una matriz puede invertirse si y slo si su determinante es diferente de cero: >> det(a) >>det(c)

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
VARIABLES Las variables deben tener un nombre segn ciertas reglas. Estas reglas son: o Las variables de Matlab deben comenzar por una letra, aunque si pueden tener nmeros (variable1 es un nombre vlido). o Las maysculas y minsculas se diferencian en los nombres de variables. (A y a son dos variables diferentes) o Los nombres de variables no pueden contener operadores ni puntos. (No es vlido usar /, *, -, +, ...) o Si se trabaja con complejos slo puede utilizarse uno de los nombres i y/o j para variables. o nicamente son importantes los 19 primeros caracteres. o No es necesario definir el tipo de variable o tamao (si se usa un vector y despus se expande, no hay problema) Tipos de datos

Variables predefinidas (pi inf NaN i >> z = 3 + 4*i z= 3.0000 + 4.0000i >> inf ans = inf >> 0/0 Advertencia: dividir por cero ans = NaN Expresiones: Una expresin en MATLAB, puede ser:

j).

o Una variable o un nmero. (ej: variable1, x, 3, 22.3) o Un comando aplicado. (ej: norm(A), sin(2*pi) ) o Una expresin matemtica. (ej: 2+3*variab1^ 4.5) Si cualquiera de las anteriores se escribe en la lnea de comandos (>>) del MATLAB, el devolver el nombre de la variable y su valor (en caso de que la expresin tenga nombre, de no tenerlo, MATLAB devolver ans = resultado). Un punto importante que se debe resaltar es que esto ocurre siempre y cuando la expresin no termine con punto y coma. Al aadir un punto y coma al final de la expresin MATLAB no imprime su valor en la pantalla, aunque si realiza el clculo. (a=3+2; deja en a el valor de 5, pero no lo muestra). o La funcin who realiza un listado de las variables que se encuentran en el espacio de trabajo. o La funcin whos realiza un listado del tamao y de la asignacin de memoria de sus variables. o El comando clear variable se puede utilizar para suprimir variables del espacio de trabajo. o Si no se aade ninguna razn al comando clear, ste borrar todas sus variables. o La funcin format cambia la precisin de los datos de salida, ver tabla de exhibicin de nmeros. IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
Vectores y Matrices: Vectores Vector de 3 coordenadas >> v=[1 2 3 ] v= 16 1 2 3 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> w=[4 5 6] w= 4 5 6 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ El operador ' indica transposicin y conjuncin del vector w >> w' ans = 4 5 6 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ Genera un vector que inicie en cero, incremente en dos hasta llegar a 20 >> vector1=0:2:20 vector1 = Columns 1 through 8 0 2 4 6 8 10 12 14 18 20

10

12

14

Columns 9 through 11

___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ %A las coordenadas de un vector se accede escribiendo el nombre del vector y entre parntesis su ndice >> Vector2(3) ans = 4 ___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ %Se pueden extraer subvectores >> Vector2(2:5) ans = 2 4 6 8

___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ >> Vector2(:) ans = 0 2 4 6 8 10 12 14 16 18 20 >>

Columns 9 through 11 16 18 20

___ _ ___ _ ___ _ ___ _ ___ _ ___ _ ___ % Si ya sabemos las coordenadas, valor inicial 0, valor final 20 y tiene a 11en total >> Vector2=linspace(0,20,11) Vector2 = Columns 1 through 8 IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
Matrices >> %definir una matriz >> B=[1 2 3;4 5 6;7 8 9] B= >> B=[4 3;2 1] 1 4 7 2 5 8 3 6 9 B= 4 2 >> A*B ans = 8 20 5 13 3 1 %definimos 2 matrices A y B A= 1 3 2 4

>> %accede al valor de la posicion (1, 2) >> B(1,2) ans = 2 >> %tener acceso a todos elementos de la columna 1 >> B(:,1) ans =

los

>>%definimos la matriz M >> M=[1 2 3;4 5 6;7 8 9] M=

1 4 7 >> %tener acceso elementos de la fila 1 >> B(1,:) a todos los

1 2 3 4 5 6 7 8 9 >>%Transpuesta de la matriz M >> M' ans =

ans = 2 3 >> %mostrar los componentes consecutivos de la columna 1 >> B(1:2,1) ans = mat = 1 4 >>%Aadir elementos a la matriz >> B(4,1)=-1 B= 1 4 7 -1 2 5 8 0 3 6 9 0 1 2 3 4 5 6 0 0 1 >>%los elementos seguidos segundo al sptimo de la matriz >> mat(2:7) ans = 4 0 2 5 0 3 1 1 2 3 4 5 6 7 8 9

>>%definir matriz con vectores >> mat=[v;w;0 0 1]

del

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
>>%acceder a las filas de la 2 a la 3, y columna 1 y 3 >> mat(2:3,[1 3]) ans = 1 4 0 6 1 0 1 >>%Desigualdad >> logica=v~=v2 logica =

Polinomio es un vector

Variables lgicas que toman valores de falso (0) y verdadero (1). >>%Recordando valores >> v,w v= 1 2 3

p= x^4+2*x^2+3 q= 2*x^2+x >> p=[1 0 2 0 3] p= 1 0 2 0 3

>> q=[2 1 0] w= q= 4 5 6 >>%compara los valores del vector v con el valor 2. >> abs(v)>=2 ans = 0 1 1 ans = >>%vectores formados por las coordenadas de v que verifican la desigualdad. >> vector=v(abs(v)>=2) vector = pro = 2 3 2 >>%asignacion de un valor lgica >> v2=[3 2 1] v2 = 3 2 1 1 4 2 6 3 0 6 >>%producto de polinomios >> pro=conv(p,q) 2 1 0

Funciones especificas para polinomios >>%evaluacion del polinomio en x=-1 >> polyval(p,-1)

>>%cociente entre pro y p; obviamente el resultado es q. >> deconv(pro,p) ans = 2 >> 1 0

>>%Igualdad >> logica=v==v2 logica = 0 1 0

IC. Ytsel Marlem Avitud Gro.

Computacin II MATLAB
Matrices Definidas: >> eye(5) ans = ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 5 0 0 0 9 9 >> diag(diag(M))

>> diag(ones(1,4),1)+diag(ones(1,4),1) ans = 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0

>> zeros(3) ans = 0 0 0 0 0 0 0 0 0

>> ones(3) ans =

>> >> tril(M) ans =

1 1 1

1 1 1

1 1 1

1 4 7

0 5 8

0 0 9

>> M=[1 2 3;4 5 6;7 8 9] >> triu(M) M= ans = 1 4 7 2 5 8 3 6 9 1 0 0 >> ans = 3 3 2 5 0 3 6 9

>> size(M)

>> length(M) ans = 3 >> diag(M) ans = 1 5 IC. Ytsel Marlem Avitud Gro.

Vous aimerez peut-être aussi