Introducción/repaso a MATLAB

Slides:



Advertisements
Presentaciones similares
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Advertisements

CODIFICACIÓN EN MATLAB
Abstracción de Datos Arrays.
Curso de MATLAB avanzado Gráficos 2D - 3D
SISTEMAS DE INFORMACIÓN
Profesor Hermann Pempelfort. Punto y coma Permite que no se muestre por pantalla la acción o resultado ejecutado. Ejemplo1: x = 3 Ejemplo2: x = 3; Ejemplo3:
Relacionando Datos Arrays
Introducción a Simulink
Curso Introductorio de MatLab
Introducción a Matlab Lectura 1.
Sistemas de Control en Tiempo Discreto
Sentencias Repetitivas y Condicionales en C++
Programación I Teoría III
Facultad de Ingeniería UNIVERSIDAD DE MENDOZA
Seminario de Actualización - Excel Avanzado y Macros
LabVIEW MathScript.
CONCEPTOS BÁSICOS PDS, APLICACIONES EN MATLAB Y DSP.
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
“Construcción de Software para Regresión: El Caso de Selección de Modelos y Pruebas de Homocedasticidad” Previa a la obtención del Título de: INGENIERO.
Curso de Java Estructura del Lenguaje
PROGRAMACIÓN MULTIMEDIA INTRODUCCIÓN A LA PROGRAMACIÓN EN MATLAB.
1.2 Sintaxis del lenguaje Java.
FUNDAMENTOS DE MATLAB MATrix LABoratory.
Fundamentos de Matlab.
FORTRAN 90 arreglos.
CS1101X Programming Methodology
Programación en Matlab
Introducción a Matlab Lectura 1.
R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en R fue escrito inicialmente.
Introducción al Lenguaje C (ANSI)
9. Detección de Circunferencias. Transformada de Hough
Aprende C en una lluviosa tarde de domingo (en algo más de un par de horas) Sintaxis del lenguaje C para implementar un programa imperativo.
Estructuras de control
VECTORES.
LA FÍSICA DEL DEPORTE Daniel Alonso Gil Diego Caso Parajón.
ESTRUCTURAS DE SECUENCIA
Estructuras de datos tipo arreglo
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2007 – I (14va Semana) Lunes 11 de Junio Ing. Juan José Montero Román.
Arreglos (vectores, matrices, ….)
Introducción al lenguaje R Sesión 2: Objetos en R
Vectores en java.
Conceptos Básicos de Java
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Estructuras de control
Tema 4: Sentencias de control
Trabajo Práctico 1 I NTRODUCCIÓN A M ATLAB. Objetivo del práctico Introducir el programa de cálculo científico Matlab (Mat rix Lab oratory) Familiarización.
Programación en Matlab
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
Gráfica en 2D. Funciones plot() crea un gráfico a partir de vectores y/o columnas de matrices, con escalas lineales sobre ambos ejes loglog() ídem con.
Instrucciones if/else y while
MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones.
Entorno. Indica el directorio en el que se trabaja y los archivos que posee. WORKSPACE: espacio de trabajo.
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
Práctica 1 Introducción a MATLAB. vMandatos básicos vVariables vFunciones vComplejos vVectores vMatrices vPolinomios vGráficas vProgramación.
Gráficas de funciones Con Matlab.
Programación en C para electrónicos
UNIVERSIDAD DE PUERTO RICO RECINTO UNIVERSITARIO DE MAYAGÜEZ Departamento de Ingeniería Industrial CENTRO DE CÓMPUTO INGENIERÍA INDUSTRIAL 2006.
Optimización para Ingenieros
Representación gráfica y declaraciones de control.
Introducción/repaso a MATLAB Procesamiento de Señales 1 Germán Montoya, Universidad Pontificia Bolivariana Medellín,
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Lenguaje de Programación Computación y Programación
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil U de A.
INTRODUCCIÓN A LAS MATRICES CON MATLAB
ALGEBRA CON VECTORES Y MATRICES Uso de MatLab.
Uso de MatLab. Introducción El entorno de trabajo de MatLab El Escritorio de Matlab (Matlab Desktop) El menú inicio Command Window Command History Browser.
Instrucciones if/else y while
Transcripción de la presentación:

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 Bloque 9 Oficina 211 Horario de atención: lunes-viernes 10am-12m, 5-6pm

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

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

Transformada Discreta del coseno

Espectrogramas

Filtros analógicos

Í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

Interfaz General

Interfaz: workspace

Interfaz: command window

Interfaz: borrado de variables

Interfaz: “limpiar” command window

Interfaz: command history

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=.

Matrices Vector fila; elementos separados por espacios en blanco o comas >> v =[2 3 4] Vector columna: elementos separados por punto y coma (;) >> w =[2;3;4;7;9;8] Generación de vectores fila: Especificando el incremento h de sus componentes v=a:h:b T=0:0.1:1 Especificando su dimensión n: linspace(a,b,n) (por defecto n=100) T=linspace(0,1,11)

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)=[]

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??

Matrices Almacenamiento en vectores: >>a=[] >>a=[a 1] 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??

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]

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')

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

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: >> hold on >> plot(t,z)

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

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

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

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]);

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]);

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);

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ñal x','señal z',1);

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

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

Programación: if If condición Sentencia; End; sentencia 1; Else

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

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

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

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

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

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

Debugger

Debugger

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

Debugger

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;

Bonificación Dada la siguiente información de potencias de recepción (dBm) acerca de diferentes tecnologías en diferentes ambientes: WiFi GSM CDMA EDGE Outdoor 2.1 4.3 6.1 4.5 Indoor 3.2 3.8 4.6 Bosque 1.6 2.9 3.7 2.8 Concreto 0.5 2.0 3.0

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.