MATLAB MATrix LABoratory "laboratorio de matrices” es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X. Aplicaciones: manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. CARACTERISTICAS Cálculos intensivos desde un punto de vista numérico. Gráficos y visualización avanzada. Lenguaje de alto nivel basado en vectores, arrays y matrices. Colección muy útil de funciones de aplicación. Las poderosas capacidades de cálculo técnico de MATLAB se ponen a la disposición de los estudiantes en versiones estudiantiles y en versiones de prueba en: http://www.mathworks.com TOOLBOX O CAJAS DE HERRAMIENTAS Signal Processing Toolbox, Wavelet Toolbox ,Image Processing, Neural Network, Fuzzy Logic, Statistics , Simulink y el DSP Blockset ,Real-Time Workshop, señales y Sistemas , Symbolyc Math, Sistemas de Control, Adquisicion de Imágenes, etc MATLAB Edit: Editor se escriben los comandos o algoritmos Workspace: Espacio donde permite observar las variables definidas en el comando o mediante un algoritmo. Directorio: donde MATLAB tienes almacenado tus algoritmos. Directorio: donde MATLAB tienes almacenado los algoritmos, programas Command Window: Espacio donde puede escribir comandos como: hacer calculos (suma, resta, ect), desarrollar graficas (figuras) llamar funciones de ayuda (help). Help: (F1) Manual de Ayuda para utilizar todos los recursos que tiene MATLAB Command History: Espacio donde puede observar los comando hechos anteriormente. Ademas comandos se mantienen almacenados a traves del tiempo. Elementos básicos en MATLAB • Matriz vacía y Matriz escalar: • a = []; Define una variable como una matriz estructura vacía • a = [4]; a = 4; Define una variable a como una matriz escalar un valor de 4. Ejemplo Comando ; Al terminar el comando con punto y coma, la respuesta no aparecerá en la ventana de comando, si en la ventana de Workspace length(a) : Define la cantidad de elementos maximo que tiene un vector Almacena los comandos anteriores Al terminar el comando sin punto y coma, la respuesta aparecerá en la ventana de comando. Si define el comando como una variable, la respuesta estará almacenada como la variable ans Elementos básicos en Matlab • Matriz vector (fila y columna) • Fila a = [ 1,2,3,4,5] o a = [ 1 2 3 4 5]; a=1:5; • Columna a = [ 1;2;3;4;5]; a=[1:5]’; • Matriz 2x3 b = [1 2 3;4 5 6]; • Matriz 3x2 c = [1 2;3 4;5 6]; • Funciones : length (a); size(a) identifican estructura de las matrices Suma, Resta, Multiplicación, División Suma y Resta a = [ 1 2;3 4] ; b = [1 1; 1 1]; c= a + b; d = a – b; La estructura de las matrices debe ser igual size(c) = size (a) = size (b) = [2 2] Ejercicio a(1,1) = 7.9787 7.9787 11.229 a(:,1) = 11.015 13.385 11.183 Ejercicio 7.9787 a(1:2:end,1) = 11.015 11.183 a(3,:) = 11.015 7.9818 12.19 11.156 9.2451 • • • • Redondeo: a= 4.566 b=fix(a) valor entero = 4 c=roundn(a,-2), redondeo al decimal mas próximo 4.57 • d=ceil(a) redondeo al entero próximo =5 SOLUCION DE SISTEMAS DE ECUACIONES Ej: La suma de las tres cifras de un numero es 16, la suma de las cifras de las centenas y la cifra de las decenas es el triplo de la cifra de las unidades y si al numero se le resta 99, las cifras se invierten. Hallar el numero. x+y+z=16 x+y=3z x+y-3z=0 100x+10y+z-99=100z+10y+x = 99x-99z=99 SOLUCION DE SISTEMAS DE ECUACIONES Se escribe la matriz a con los coeficientes de x,y,z a=[1 1 1;1 1 -3;99 0 -99]; Se escribe la matriz b con los coeficientes del termino independiente de cada ecuacion >> b=[16;0;99]; Y se calcula la solución >> s=a\b 5 7 4 Por tanto el numero es 574 Statistics Toolbox Combina poderosos algoritmos estadísticos con interfaces gráficas interactivas. Las Statistics Toolbox le da un rango ancho de herramientas para realizar cálculos estadísticos. Proporciona una única mezcla de facilidad gráfica de uso y programabilidad. Los despliegues gráficos interactivos le permitieron aplicar métodos estadísticos fácilmente y de forma consistente, mientras el lenguaje de MATLAB le permite fácilmente crear los acostumbrados métodos estadísticos y de análisis. • • • • Estadística Simple a = 100 *rand(15,1); [oa,pa]=sort(a); Orden ascendente [od,pd]=sort(a,’descend’); Orden descendente • p=hist(a,5); Histograma oa = 1.8504 17.6266 23.1139 44.4703 45.6468 48.5982 60.6843 61.5432 73.8207 76.2097 79.1937 82.1407 89.1299 92.1813 95.0129 pa = 8 15 2 10 7 4 3 11 14 6 12 9 5 13 1 mean(a) var(a) ans = 59.4148 ans = 823.9171 >> median(a) ans = 61.5432 >> min(a) ans = 1.8504 >> max(a) ans = 95.0129 >> cov(a) RAICES DE UN POLINOMO F(X)= X^3+3X^2-2X+1 X=>> A=[1 3 -2 1]; >> roots(A) ans = -3.6274 0.3137 + 0.4211i 0.3137 - 0.4211i Derivada de una función F(X)= X^3+3X^2-2X+1 syms x >> f=x^3+3*x^2-2*x+1; >> diff(f) ans = 3*x^2+6*x-2 >> diff(f,2) ans = 6*x+6 Integral de una función F(X)= X^3+3X^2-2X+1 syms x >> f=x^3+3*x^2-2*x+1; >> int(f) ans = 1/4*x^4+x^3-x^2+x >> int(f,0,1) ans = 5/4 Figuras 100 t=0:0.1:10; % tiempo inicial, intervalo, tiempo final 90 Y1=2*t; %Variable de respuesta Y1 Y=2t 80 Y2=t.^2; % Y2= t^2 70 figure(1) % Observar simultaneamente las 2 funciones dentro de una figura plot(t,Y1,t,Y2) %plot(t,[‘Y1‘Y2’]; grid 60 figure(2) %Observar por separado las figuras 40 subplot(2,1,1) 30 plot(t,Y1);grid;axis([0 10 minmax(Y1)]) 20 title(‘Y1 = 2t’) %Titulo de la figura Y2 50 Y1 10 ylabel(‘Y1’) %Eje de y xlabel(‘x’) %Eje de y 0 0 1 2 3 4 5 6 7 8 9 10 Figuras subplot(2,1,2) plot(t,Y2,’linewidth’,3);grid;axis([0 10 minmax(Y2)] Y1=2t 20 title(‘Y2 = 2t’) %Titulo de la figura Y1 ylabel(‘Y1’) %Eje de y 15 10 5 xlabel(‘x’) %Eje de y 0 0 1 2 3 4 5 x 6 7 8 9 10 6 7 8 9 10 Y2=t 2 Y2 100 50 0 0 1 2 3 4 5 x GRAFICAS EN TRES DIMENSIONES [X,Y]= meshgrid(linspace(-2,2,100), linspace(-2,2,100)); >> Z=X.*exp(X.^2+Y.^2); >> surf(X,Y,Z)