"laboratorio de matrices") es una herramienta de software matemtico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programacin propio (lenguaje M). Est disponible para las plataformas Unix, Windows, Mac OS X y GNU/Linux . Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la representacin de datos y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario (GUI) y la comunicacin con programas en otros lenguajes y con otros dispositivos hardware MATLAB no necesita declarar ni dimensionar las variables Las variables se auto-declaran al inicializarlas La memoria se reasigna dinmicamente Ejemplo: >> x=5; >>y=15; >>z=x*y z= 100 >> cadena=hola; MATLAB considera a todas las variables como matrices.
Acceso a los elementos de la matriz >> M(1, 3); >> M2(2, 3); >> M3(3, 4); Acceso a los elementos de la matriz El operador : se utiliza para indicar todos los elementos Ejemplo: >> M(:, 3); >> M2(2, :);
El operador end se utiliza para indicar el ltimo elemento Ejemplo: >> t=1:0.1:2; >> y = sin(2*pi*t); >> diferencia = [NaN; y(2:end)-y(1:end-1)];
Operaciones aritmticas: + - * / ^ Matlab trabaja con matrices Ejemplo: >> a = rand(2,5); >> b = rand(5,2); >> c = a*b; >> d = b*a; Operaciones elemento a elemento: + - .* ./ .^ Ejemplo: c = magic(4); d = magic(4); >> c.* d; >> c .^2; >> c ./ d; Otras operaciones matriciales Suma: sum(A); Media y desviacin: m=mean(A); sigma=std(A); Elementos de la diagonal: v=diag(A); Divisin por izquierda: x=A\B; Determinante: d=det(A); Inversa: B=inv(A); Autovalores: v=ein(A); Valor absoluto mdulo de complejos: B=abs(A); Otras operaciones Redondeo: floor, ceil, round, fix Trigonomtricas: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh Mdular: rem, mod Exponencial: exp, log, log2, log10, sqrt Primos: factor, primes Matlab permite crear grficos de varios tipos, que se utilizan para: Visualizar el contenido de las variables Crear imgenes y pelculas Generar interfaces de usuario
Tipos de grficos (1D, 2D)
Tipos de grficos (3D)
Utilizando el comando plot() Plot(x, y, rx-);
y amarillo r rojo g verde b azul w blanco k negro m magenta
. Punto
x + *
- lnea continua : lnea de puntos -. Punto y raya -- lnea discontinua Utilizando el comando plot() Ejemplo: >> X=0:10; >> plot(X); >> Y=sin(X); >> plot(X,Y); >> plot(X,Y, bx-); Utizando el comando subplot() Ejemplo: >> X=0:0.2:pi(); >> Y=cos(X); >> Z=sin(X); >> subplot(2,1,1), plot(X,Y), title(coseno) >> subplot(2,1,2), plot(X,Z), title(seno)
Utilizando el comando mesh() La orden [X, Y]= meshgrid(x,y) crea una matriz X cuyas filas son copias del vector x y una matriz Y cuyas columnas son copias del vector y.
Para generar la grfica de malla utilizamos mesh(X,Y,Z) Ejemplo: >> x=--10:0.5:10; y= -10:0.5:10; >> [X,Y]=meshgrid(x,y); %crea matrices para la malla >> Z= sin(sqrt(X.^2 + Y.^2)) ./ sqrt(X.^2 + Y.^2 + 0.1); >> mesh (X,Y,Z) % dibuja la grfica
Utilizando el comando surf() Es similar al grfico de malla, pero se rellenan los espacios entre lneas. Se utilizan los mismos argumentos que para mesh().
Ejemplo: >> x=--10:0.5:10; y= -10:0.5:10; >> [X,Y]=meshgrid(x,y); %crea matrices para la malla >> Z= sin(sqrt(X.^2 + Y.^2)) ./ sqrt(X.^2 + Y.^2 + 0.1); >> surf (X,Y,Z) % dibuja la grfica
Utilizando el comando contour(2-D) o contour3(3-D)