1 / 46

Introducción/repaso a MATLAB

Introducción/repaso a MATLAB. Procesamiento de Señales 2 Germán Montoya, jermaintz@gmail.com. Universidad Pontificia Bolivariana Medellín, Colombia 2010-II. Contacto. Germán Montoya jermaintz@gmail.com german.montoya@upb.edu.co gmontoyao.260mb.com Germanmontoya.wordpress.com

mariah
Download Presentation

Introducción/repaso a MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción/repaso a MATLAB Procesamiento de Señales 2 Germán Montoya, jermaintz@gmail.com Universidad Pontificia Bolivariana Medellín, Colombia 2010-II

  2. Contacto • Germán Montoya jermaintz@gmail.com german.montoya@upb.edu.co gmontoyao.260mb.com Germanmontoya.wordpress.com • Bloque 9 Oficina 211 • Horario de atención: lunes-viernes 10am-12m, 5-6pm

  3. Evaluación • Laboratorio: 20% de materia • Informes: 6  50% • Preinformes (quiz abierto): 6 25% • Posinforme (quiz cerrado): 6 25% • Bonificaciones

  4. Contenido del laboratorio • Transformada de Laplace • Transformada Z • Transformada Discreta del coseno y espectrogramas • Transformada de Hilbert • Filtros analógicos • Compresión de Datos

  5. Transformada Discreta del coseno

  6. Espectrogramas

  7. Filtros analógicos

  8. Índice • Interfaz • Números y Operaciones • Vectores y Matrices • Operaciones con Vectores y Matrices • Funciones para Vectores y Matrices • Sistemas de Ecuaciones • Gráficos 2D y 3D • Programación • Debugger

  9. Interfaz General

  10. Interfaz: workspace

  11. Interfaz: commandwindow

  12. Interfaz: borrado de variables

  13. Interfaz: “limpiar” commandwindow

  14. Interfaz: commandhistory

  15. Números • No hace falta definir variables enteras, reales, etc. como en otros lenguajes • Números enteros: a=2 • Números reales: x=-35.2 • Números potencias de 10: x=3e5 = 300000 ó 3*10^5 = 300000 • Números Imaginarios: x= 1 + 2i = 1.0000 + 2.0000i • Euler: exp(1) = 2.7182 • π: pi = 3.1416 • Infinito: Inf=.

  16. Matrices • Vector fila; elementosseparadosporespacios en blanco o comas >> v =[2 3 4] • Vector columna: elementosseparadosporpunto y coma (;) >> w =[2;3;4;7;9;8] • Generación de vectoresfila: • Especificando el incrementoh de suscomponentesv=a:h:b • T=0:0.1:1 • Especificandosudimensiónn: linspace(a,b,n) (pordefecto n=100) • T=linspace(0,1,11)

  17. Matrices • Matrices n x m: • A=[1 2 3; 4 5 6; 7 8 9] • Información: • De un elemento: A(2,3)=6 • De una fila: A(1,:)= 1 2 3 • De una columna: A(:,2)= 2 5 8 • Matriz vacía: A=[] • Eliminación de una fila: A(1,:)=[] • Eliminación de una columna: A(:,2)=[]

  18. Matrices: Operadores • Básicas: +, -, *, / • A=[1 2 3 4 5]; k=2; B=[5 4 3 2 1] • A/2= 0.5 1 1.5 2 2.5; • 2./A= 2 1 0.6667 0.5 0.4; • A./B= 0.2 0.5 1 2 5; • A/B= 0.6364 porque??

  19. Matrices • Almacenamiento en vectores: >>a=[] >>a=[a 1] >>a=[a 2] • Supresión en vectores: >>a=[1 2 3 4 5] >>a=a(2:length(a)); %recorto el primer elemento del vector. Como recorto el último??

  20. Funciones • A=[1 2 3 4 5]; B=[1 2 3;4 5 6]; • Length(A)=5 • [n,m]=size(B)  n=2 y m=3 • sum(A)=15; prod(A)=120 • Max(A)=5; min(A)=1 • A’=[1;2;3;4;5] • Zeros(n,m); zeros(1,2)=[0 0] • Ones(n,m); ones(1,2)=[1 1]

  21. Gráficos • X=sin(2*pi*f*t); %señal senoidal • Plot(t,x); %curva azul (por defecto) • plot(t,x,'k'); %curva negra • plot(t,x,‘--k'); %curva líneas espaciadas • plot(t,x,'--ks‘); %figura en el valor grafico. Otras figuras: d,h,o,p,s,x. • plot(t,x,'--ks','LineWidth',2); %ancho de la linea • plot(t,x,'--ks', 'MarkerEdgeColor','r', … 'MarkerFaceColor','g')

  22. Gráficos • plot(t,x,'--ks', 'LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','g');

  23. Gráficos: error común • Hacer 2 graficas en una misma figura: >> figure >> plot(t,x) >> plot(t,z) %sobrescribe al anterior plot • Solución 1: >> figure >> holdon >> plot(t,x) >> plot(t,z)

  24. Gráficos: error común • Solución 2: >> figure >> plot(t,x,t,z) >> plot(t,x,'--ks',t,z,'o','LineWidth',2)

  25. Gráficos: estructura plot >>Figure >>Plot(t,x) %primera gráfica >>Figure >>Plot(t,z) %segunda gráfica . . .

  26. Gráficos: estructura plot >>Figure >>holdon >>plot(t,x) >>plot(t,z) . . . >>hold off

  27. Gráficos: ejes, abscisa y ordenada >>figure; >>plot(t,x); >>title(‘Señal'); >>xlabel('Tiempo'); >>ylabel(‘Señal x'); >>ylim([-2 5]); >>xlim([-1 10]);

  28. Gráficos: ejes, abscisa(x) y ordenada(y) >>figure; >>plot(t,x); >>title(‘Señal'); >>xlabel('Tiempo'); >>ylabel(‘Señal x'); >>axis([-2 2 -2 3]);

  29. Gráficos: texto dentro de la figura >>figure; >>plot(t,x); >>xlabel('tiempo'); >>ylabel('señal'); >>axis([-2 2 -2 3]); >>text(-0.9,0.5,'señal senoidal \rightarrow','FontSize',10);

  30. Gráficos: etiquetas >>figure; >>hold on; >>plot(t,x,'b'); >>title('Señal X'); >>xlabel('tiempo'); >>ylabel('señal'); >>axis([-0.5 1.5 -1.5 1.5]); >>plot(t,z,'k'); >>h = legend('señalx','señal z',1);

  31. Gráficos: subplot >>subplot(1,2,1); >>plot(t,x); >>subplot(1,2,2); >>plot(t,x,'--ks', 'LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','g');

  32. Gráficos: estructura de subplot >>Figure; >>Subplot(n,m,i) >>Plot(t,x) >>Subplot(n,m,j) >>Plot(t,z) . . >>Figure; >>Subplot(p,q,i) . . Primera ventana Segunda ventana

  33. Programación: if • If condición Sentencia; End; • If condición sentencia 1; Else sentencia 2; End;

  34. Operaciones Lógicas • >, <, >=,<=,== (igual) • | (or), &(and) • ~= (no igual) • If fondos>0 tengo dinero en el cajero; end;

  35. Programación: if…elseif…else if(fondos_banco1>0) sentencia1; elseif(fondos_banco2>0) sentencia2; elseif(fondos_banco3>0) sentencia3; else sentencia4; End;

  36. Programación: for • for variable = expresión sentencias End • For bancos=1:3 cuota_manejo(bancos)=6000 end

  37. Programación: while • While expresión sentencias End • While edad<60 Pensión=0 end

  38. Creación de Funciones • M-file de la función “elevar al cuadrado”:

  39. Creación de Funciones • M-file de la función: function [num_2] = g_potencia2(n) num_2=n*n; • M-file queusa la función: clc clear all; close all; m=6; a=g_potencia2(m);

  40. Debugger

  41. Debugger

  42. Debugger • Step: simulación paso a paso. • Step In: simulación paso a paso pero entra a funciones. • StepOut: sirve para salir de una función.

  43. Debugger

  44. Ejemplo: contar cuantos ceros tiene la matriz a=[1 2 3;4 0 6;7 0 9]; [n,m]=size(a); Cont=0; for i=1:n for j=1:m if a(i,j)==0 cont=cont+1; end; end; end;

  45. Bonificación • Dada la siguiente información de potencias de recepción (dBm) acerca de diferentes tecnologías en diferentes ambientes:

  46. Bonificación • Realice un programa en Matlab que calcule lo siguiente: • Promedio de potencias por cada ambiente. • Mejor tecnología por cada ambiente. • Para cada tecnología, definir el ambiente donde mejor se desempeña. • Nota: necesariamente debe inicializarse la matriz (4x4) de datos, y partir de allí desarrollar el programa. • Valor de la Bonificación: 0.3 adicional a cualquier informe.

More Related