Está en la página 1de 5

Tutorial de Matlab Un excelente tutorial preparado porel catedrtico Javier Garca de Jaln de la UPM Madrid Archivos y GUIS del

libro del prof Ashok Ambardar Archivos de las actividades complementarias del libro Procesamiento de Seales Analgicas y Digitales de Ashok Ambardar. Ubique, en la pgina, los archivos (ficheros) adsp_mfiles.zip y adsp_guis.zip , extraiga los archivos a una carpeta (le recomendamos en carpetas del mismo nombre, --por ejemplo, ADSP_GUIS--, y dentro de la carpeta de Toolboxes o la de Work) y luego, aada las nuevas carpetas al PATH de Matlab. Esto ltimo puede hacelo presionando el botn de Start de Matlab (abajo a la izquierda) y seleccionando la opcin Desktop Tools y luego Path. Programas de Matlab para dibujar Diagramas de Bode (reales y aproximados) Son archivos BodePlotGui.zip del SwarthMore College. Tambin puede conseguir ayuda y otros ejemplos as como una breve introduccin, en ingls, a los diagramas de Bode . Listado de cdigos utilizados en el tutorial de Matlab. Observe que todo lo que est, en una misma lnea, despues del smbolo % es un comentario al programa, que pretende ayudar a entender el comando. Ud. slo deber introducir el comando (despus del >>), por ejemplo >>x=sin(2*pi*t) y usar los comentarios (lo que est despus de %) para ayudarse a entender lo que est haciendo. Programa

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Generacion de matrices y vectores. Operaciones con matrices y vectores % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

x=[2 3 4] % Como generar un vector fila x' % su transpuesto vector columna y=[5 6 7;8 9 0] % generando una matriz. Observe que el ; hace que salte a nueva fila y' % la transpuesta de la matriz. Note que NO hemos asignado... y(2,1) % a nadie la transpuesta de y. Por por lo tanto y(2,1)=9 z=y' % ahora si, z es la transpuesta de y p=y*z % multiplicacion de matrices pp=p^2 % elevacion al cuadrado de matrices CUADRADAS p1=p*p % que es lo mismo que la multiplicacion de p por p p2=p.^2 % ahora es la multiplicacion punto a punto %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Generacion automatica de matrices y vectores % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

t=0:.1:4; % generando un vector fila con valores del 0 al 4 en saltos de .1 x=sin(2*pi*t); % generando el seno de 2 pi t para el rango de t dado size(x) % fijate cuantos valores hay en el vector x plot(t,x) % grafica del seno de 2 pi t contra t t=0:.01:4; % como no quedo muy bien hacemos los espacios de tiempo mas pequeos x=sin(2*pi*t); % volvemos a calcular el seno para el nuevo t plot(t,x) % regraficamos dx=diff(x)/.01; % con diff calculamos la derivada de x (que llamamos dx) en el rango de t size(dx) % miramos el tamao del nuevo vector dx --observa que mide uno menos que x

size(x) % lo ves? length(t) % otra manera de medir un vector t1=t(2:length(t)); % en este caso asignamos a el nuevo vector t1 el rango de t para dx plot(t,x,t1,dx) % graficamos ambas seales %%%%%%%%%%%%%%%%%%%%%%%%%% % Subgraficas % %%%%%%%%%%%%%%%%%%%%%%%%%%

subplot(1,2,1);plot(t,x) % o las graficamos en ambitos diferentes subplot(1,2,2);plot(t1,dx) %%%%%%%%%%%%%%%%%%%%%%%%%% % hay que mencionar los operadores + - * / ^ % % y los operadores .+ .- .* ./ .^ % %%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%% % y tambien otras funciones importantes % % como cos tan atan i j real imag conj log log10 % % sqrt abs angle min max sign % %%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % use help sobre las funciones. Por ejemplo, help sqrt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

x='4*t.*exp(-2*t)' % variables simbolica, observa el uso del * y .* t=0:0.05:4; % espacio de tiempo en el que voy a evaluar xe=eval(x); % evaluacion de la funcion en t plot(t,xe) % grafica de la funcion

%%%%%%%%%%%%%%%%%% % Operaciones logicas % %%%%%%%%%%%%%%%%%%

q=find(xe>=0.7) % find encuentra los indices en los que es verdadero xe>=0.7 length(xe) % q tiene 6 elementos, el primero es el 9 xe(9) % observe que xe(9)=0.7189 xe(15) % pero que xe(15)=0.6905 k=find(xe==max(xe)) % otra vez buscamos el indice en el que xe es maximo t(k) % tiempo en el que ocurre el maximo xe(k) % valor del maximo %%%%%%%%%%%%%%%%%%% % Otros operadores relacionales % % < >= <= == ~= % % y logicos % % & | ~ xor % %%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%% % funciones especificas del curso % %%%%%%%%%%%%%%%%%%%% t=-2:.01:4; % generacion del vector tiempo x1=ustep(t-1); % escalon retrasado en uno plot(t,x1) x2=uramp(t-1); % rampa retrasada en uno plot(t,x2) x3=urect(.5*t-1); % pulso retrasado y expandido plot(t,x3) x4=tri(2*t-2); % triangulo retrasado y comprimido plot(t,x4)

x5=sinc(t/2); % funcion sinc expandida plot(t,x5) x6=4*exp(-2*t).*cos(pi*t).*ustep(t); % combinacion de funciones. Tambien udelta plot(t,x6) Serie trigonomtrica de tren de pulsos positivos y negativos. Hay que copiar los comandos, pegarlos, por ejemplo, en una ventana de Notepad, y guadar el archivo (fichero) como, por ejemplo, serie_trig.m Luego, desde la ventana de comandos de Matlab ejecutar: >> serie_trig Archivo: n=input('numero de sumandos= '); t=-2:.01:2; pulso=zeros(1,length(t)); for k=1:n pulso=pulso+sin(2*(2*k-1)*pi*t)/(2*k-1); end plot(t,pulso) grid

También podría gustarte