You are on page 1of 6

NOCIONES BSICAS DE MATLAB

Ventana de comandos: Comandos e indicaciones bsicas


clc %comentario [Ctrl]+[c] clear who whos Inf, inf NaN, nan help help comando res= input(mensaje: ) disp(mensaje) disp(variable) save Borra la pantalla Todo lo que aparece detrs de este smbolo se considera un comentario. Detiene la ejecucin de cualquier comando o funcin Elimina las variables residentes en el espacio de trabajo Visualiza las variables residentes en el espacio de trabajo Visualiza las variables residentes en el espacio de trabajo con informacin adicional (tamao, espacio fsico y tipo) Representa infinito Indeterminacin. Not a Number Ayuda de matlab. Lista de libreras de comandos Ayuda de matlab sobre comando Permite la introduccin interactiva de datos a travs del teclado. Lo introducido se almacena en la variable res Muestra por pantalla la cadena de caracteres mensaje o el valor de la variable especificada dentro de los parntesis. Copia variables del espacio de trabajo en un fichero. Ejemplo: >>save %Copia en el fichero matlab.mat todas las variables >>save datos %Copia en el fichero datos.mat todas las variables >>save datos X Y %Copia en el fichero datos.mat las variables X e Y >>save dstos.txt -ascii %Copia en el fichero datos.txt todas las variables Copia en el espacio de trabajo las variables o datos contenidos en un fichero. Guarda en un fichero de texto la secuencia de comandos ejecutados en la ventana de trabajo. Nota: Antes de ejecutar cualquier comando hay que ejecutar la instruccin diary nombre.txt, a partir de ese momento todo se ir guardando en el archivo nombre.txt. Para finalizar ejecutar el comando diary off

load diary

Constantes predefinidas
pi i, j eps Numero Unidad imaginaria. psilon de la mquina

Operadores y funciones matemticas


+, -, *, /, \, ^ sin(x), cos(x), tan(x), asin(x), acos(x), atan(x) sqrt(x), log(x), abs(x) Suma, resta, producto, divisin, divisin inversa, potenciacin Seno, coseno, tangente, arcoseno, arcotangente de x Raz cuadrada, logaritmo neperiano, valor absoluto de x

Aritmtica Matricial
Vector Los vectores se introducen entre corchetes y los elementos estn separados por espacios o comas. Ejemplo: >> [1 2 3] ans = 1 2 3

Matriz

+, -, *, ^,

.*, .^, ./, .\

det(M)

length(v) size(M) Acceso a elementos de un vector o matriz

Las matrices se introducen entre corchetes y por filas. Los elementos de una misma fila estn separados por espacios o comas, mientras las filas estn separadas por pulsaciones de [ENTER] o por punto y coma. Ejemplo: >> [1 2 3; 4 5 6; 7 8 9] ans = 1 2 3 4 5 6 7 8 9 Suma, resta, producto, potenciacin, traspuesta. Ejemplo: >> A=[1 2 3;4 5 6], B=[7 8 9;10 11 12] A= B= 1 2 3 7 8 9 4 5 6 10 11 12 >> A+B, C=B, A*C ans = C= ans= 8 10 12 7 10 50 68 14 16 18 8 11 122 167 9 12 Producto, potenciacin, divisin y divisin inversa elemento a elemento. Ejemplo: >> A.^2, A.*B ans = ans= 1 4 9 7 16 27 16 25 36 40 55 72 Determinante de la matriz M. Ejemplo: >>det([1 2 3;8 5 7;3 4 8]) ans = -23 Tamao del vector v Tamao de la matriz A Se accede a los elementos poniendo el/los ndice/s de referencia entre parntesis, separados por coma. Al utilizar [ ] permiten seleccionar varias filas o columnas Al utilizar : permite seleccionar las filas o columnas completas. Nota1: Tener en cuenta que en vectores se empieza a contar por la posicin 1 y no por la 0. Nota2: M(filas,columnas) Ejemplo1: >>M=[1 2 3;4 5 6;7 8 9]; v=[1 4 3 4]; >> M(2,3), v(2) ans = ans= 6 4 Ejemplo2: >> M(:,3), M(:,[2 3]), M(:,:) ans = ans= ans= 3 2 3 1 2 3 6 5 6 4 5 6 9 8 9 7 8 9

Generacin automtica de datos


eye(n,m), zeros(n,m), ones(n,m) Matriz unidad, matriz nula y matriz de unos de tamao nxm. Ejemplo: >> eye(3,3), zeros(3,3), ones(3,3) ans = ans= ans= 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1

linspace(x1,x2,n)

[n:h:k]

diag(vector)

diag(Matriz)

Vector con n componentes equiespaciados entre x1 y x2. Ejemplo: >>linspace(1,5,5) ans = 1 2 3 4 5 Vector de secuencias de nmeros desde n hasta k con incremento h. (si no se especifica la h, el incremento es 1). Ejemplo: >> [1:2:10], [1:5] ans = ans = 1 3 5 7 9 1 2 3 4 5 Matriz diagonal cuyos elementos diagonales son las componentes de vector. Ejemplo: >> diag([2:4]) ans = 2 0 0 0 3 0 0 0 4 Matriz columna cuyos elementos son los elementos que forman la diagonal de matriz. Ejemplo: >>diag(eye(3)) ans = 1 1 1

Operadores lgicos
<, >, <=, >=, ==, ~= &, |, ~, xor Menor que, mayor que, menor o igual que, mayor o igual que, igual que, distinto que Operadores lgicos y, o, no, o excluyente

Estructuras condicionales y bucles


if condicin lgica %comandos elseif condicin lgica %comandos else %comandos end Ejemplo1: if n>0 & n<2 disp('Dentro del if') end Ejemplo2: if n>0 & n<2 disp('Dentro del if') else disp('Dentro del else') end Ejemplo3: if n>0 & n<2 disp('Dentro del if') elseif n==0 disp('Dentro del elseif') else disp('Dentro del else') end

while condicin lgica %comandos end

for contador %comandos end switch expresin case valor_expr: %comandos . otherwise: %comandos end

Ejemplo: n=1; while n<10 disp('Iteracin '), n n=n+1; end Ejemplo: for n=1:1:10 %Cuenta desde 1 hasta 10 incrementando de uno en uno disp('Iteracin '), n end Ejemplo: switch n case 1: disp('Caso 1') case 2: disp('Caso 2') otherwise: disp('Ninguno de los casos anteriores') end

Ficheros .m
*.m CREACIN DE FUNCIONES Fichero de texto que contiene cdigo MATLAB. Se ejecuta desde la ventana de comandos escribiendo el nombre del fichero (sin la extensin). En un fichero *.m podemos crear nuestras propias funciones: % cabecera function *salida1,salida2,+=mifuncion(entrada1,entrada2,) %comandos end Se guarda como un fichero de texto mifuncion.m cuyo nombre suele coincidir con el de la funcin. Desde la propia funcin se puede hacer llamada a otras funciones o incluso a ella misma (recursividad). Las variables usadas en cada funcin toman un valor local. Ejemplo: Creamos un fichero llamado aproximacin.m: %Calcula una aproximacin al numero e utilizando el polinomio de Taylor m=input('Da el numero de sumandos \n'); x=0; for n=1:1:m x=x+1/mifactorial(n) %llamada a nuestra funcin mifactorial end x La funcin mifactorial viene definida en el archivo mifactorial.m: function [k]=mifactorial(n) if(floor(n)==n)&(n>0) k=1; for m=2:1:n k=k*m; end end end En el promt: >> aproximacion Da el numero de sumandos 5 x= 1 x= 1.5000 x= 1.6667 x= 1.7083 x= 1.7167 x= 1.7167

Grficos 2D
plot(x) plot(x,y) fplot(fcn,lim) Dibuja los pares de puntos (i,xi) unidos por segmentos (xi, representa las componentes del vector x) Dibuja los pares de puntos (xi,yi) unidos por segmentos (xi e yi representan las componentes de los vectores x e y respectivamente) Dibuja el grfico de la funcin especificada en la cadena fcn (puede ser un fichero de comandos) en los intervalos de abscisas y ordenadas determinadas por lim. Ejemplo: >> fplot('sin(x^2)',[0 10]) >>fplot('sin(x^2)',[0 10 -1 1])

plot(x,y,cad) fplot(fcn,lim,cad)

Dibuja la grfica con las opciones de estilo dadas por cad. Por defecto matlab utiliza una lnea azul continua sin marcadores. Cad es una variable crcter de a lo sumo tres parmetros elegidos de las siguientes columnas sin importar el orden. Marcadores Lineas Colores . punto - slida y amarillo * estrella -- discontinua g verde x cruz -. punto-raya m magenta o circulo : punteada b azul + ms c cyan s cuadrado w blanco d rombo r rojo p pentgono k negro h hexgono v tringulo abajo < tringulo izq. > tringulo dcha. ^ tringulo arriba Ejemplo: >> x=linspace(0,3,50); e=exp(-x.^2); plot(x,e,'^-g');

grid on grid off title(texto) xlabel(texto) ylabel(texto) legend(lin1,txt,lin2,txt2,) legend off hold on hold off figure(n) clf subplot(m,n,p)

Dibuja una red en la ventana grfica Borra la red de la ventana grfica Escribe el texto centrado en la cabecera del grfico Escribe el texto junto al eje x e y respectivamente Escribe en un pequeo recuadro, el texto al lado de cada estilo de lnea utilizado en cada una de las grficas dibujadas. Elimina la leyenda del dibujo actual Permite superponer grficos en una misma ventana hasta que se desactive Desactiva la opcin hold Permite mostrar la ventana grfica actual y crear nuevas ventanas grficas Borra el contenido de la ltima ventana grfica utilizada Divide la ventana grfica en subventanas distribuidas en m filas y n columnas y hace que la subventana p sea la actual. Las ventanas se enumeran de izquierda a derecha y de arriba hacia abajo. Ejemplo: >> x=linspace(-10,10,1000); y11=(-x).*sin(x); y12=(-x).*cos(x)-sin(x); >>y21=diff(y11)./(x(2)-x(1)); y22=(y21-y12(1:999))./norm(y12); >>hold on >>subplot(2,2,1); plot(x,y11); xlabel('y11'); >>subplot(2,2,2); plot(x,y12); xlabel('y12'); >>subplot(2,2,3); plot(x(1:999),y21); xlabel('y21'); >>subplot(2,2,4); plot(x(1:999),y22); xlabel('y22');

Funciones tiles en las prcticas de SADSII


X=fft(x) X=fft(x,n) hamming(n) Transformada de Fourier de x Los n primeros valores de la transformada de Fourier de x Ventana Hamming. Vector simtrico de n componentes. La primera mitad de componentes toman desde un valor muy prximo al 0 hasta un valor muy prximo al 1 y viceversa en la segunda mitad del vector. [x,fs]=wavread('sound.wav') Muestrea la seal de audio sound.wav y devuelve las muestras y la frecuencia de muestreo . wavwrite(x,fs, 'sound.wav') Recompone la seal de audio sound.wav a partir del vector x y frecuencia fs angle(M) Devuelve el ngulo de fase, en radianes, de una matriz con elementos complejos. [B,A]=butter(n,wn); Para disear un filtro digital LP de orden n y frecuencia de corte wn. Devuelve

los coeficientes del filtro.


Y=filter(B,A,X); Filtro de caractersticas dadas por los vectores A, B que filtra los datos del vector X.

You might also like