Utp pds_s_lab2 mat_lab basico

23
Procesamiento Digital de Señales (TC61) Facultad de Ingeniería Electrónica y Mecatrónica Laboratorio: 2 Ing. José C. Benítez P. MatLab básico

Transcript of Utp pds_s_lab2 mat_lab basico

Page 1: Utp pds_s_lab2 mat_lab basico

Procesamiento Digital de Señales (TC61)

Facultad de Ingeniería Electrónica y Mecatrónica

Laboratorio: 2

Ing. José C. Benítez P.

MatLab básico

Page 2: Utp pds_s_lab2 mat_lab basico

Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 2

Laboratorio 2. Temas

MatLab básico• Objetivo

• Introducción

• Fundamentos

• Guardando el workspace

• Matrices

• Aritmética matricial

• Funciones Matriciales

• Gráficos

• Funciones y scripts

Page 3: Utp pds_s_lab2 mat_lab basico

Objetivo

• Afianzar los conocimientos de

los alumnos en el uso de la

herramienta de calculo

matricial, MatLab.

• Al terminar el laboratorio el

alumno será capaz de

demostrar destrezas en el uso

de las funcionalidades básicas

necesarias para Procesamiento

Digital de Señales

3Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

Page 4: Utp pds_s_lab2 mat_lab basico

Introducción

4Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

• Matlab comenzó como el programa “MATrix LABoratory”

que pretendía crear un acceso interactivo y poderoso a las

bibliotecas Linpack y Eispack. Estas son paquetes de

programación sumamente poderosos para la solución de

ecuaciones lineales y problemas de eigenvalores.

• El objetivo de MatLab es el de permitir a estudiantes,

científicos e ingenieros el uso de técnicas basadas en el

álgebra lineal (matrices) para la solución de problemas,

usando lo más novedoso en programación, sin tener que

escribir programas en los lenguajes tradicionales como C.

Page 5: Utp pds_s_lab2 mat_lab basico

Introducción

5Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

• Nuevas funciones han sido añadidas conforme el tiempo

ha pasado permitiendo en la actualidad tener funciones

específicas para muy diversas áreas del conocimiento

humano. Tal es así que tiene una Caja de herramientas

(Toolbox) para Procesamiento Digital de Señales.

• MatLab se encuentra desarrollado para diversas

plataformas de cómputo, desde computadoras personales

PC hasta Macintosh, Sun y SG; y para diversos sistemas

operativos; Windows, Linux, OSX, Solaris, etc..

Page 6: Utp pds_s_lab2 mat_lab basico

Fundamentos. Ejercicio 1

6Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>>

>> quit

>> 2+3

>> 3*4,4^2

>> 2+3*4^2

>> 2+3*4^2/2

>> (2+3*4^2)/2

>> x = 3

>> y = x^2

>> y/x

>> ans, z=2*ans, ans

>> who, whos

Ejecute en la ventana de comandos

las siguientes expresiones y luego

en un archivo M-File comentar cada

uno de las expresiones ingresadas.

Page 7: Utp pds_s_lab2 mat_lab basico

Fundamentos. Ejercicio 1

7Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> a=sqrt(2)

>> format long, b=sqrt(2)

>> a-b

>> format short

>> help

>> help general

>> lookfor

>> helpwin

Page 8: Utp pds_s_lab2 mat_lab basico

Guardando el Workspace. Ejercicio 2

8Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> diary lab2.txt

>> save x.value x –ascii

>> save milab2

>> load milab2

Existen además otros archivos que utiliza Matlab:

• Unos son los archivos M-file del tipo ”archivo.m” que son

archivos de texto que contienen funciones; éstos son editables

y ejecutables.

• Los otros son los archivos ”archivos.mex” que son funciones

sólo ejecutables y se encuentran en código de máquina.

• Otros son los archivos ”archivos.mat” que son archivos que

contienen lo realizado en una sesión con MatLab.

Ejecute en la ventana de comandos

las siguientes expresiones y luego

en un archivo M-File comentar cada

uno de las expresiones ingresadas.

Page 9: Utp pds_s_lab2 mat_lab basico

Matrices. Ejercicio 3

9Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> a = [1,2,3; 4,5,6]

>> a(1,2), a(2,3)

>> a(2,3) = 10

>> a’

>> b=[1+i 2 + 2*i 3 - 3*i], b’

>> [a; a; a]

>> [a, a, a]

>> b=b’

>> c = [a; 7,8,9]

>> [a’, b]

>> [ [a; a; a], [b; b] ]

Ejecute en la ventana de comandos

las siguientes expresiones y luego

en un archivo M-File comentar cada

uno de las expresiones ingresadas.

Page 10: Utp pds_s_lab2 mat_lab basico

Matrices. Ejercicio 4

10Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> rand(1,3), rand(2)

>> zeros(3)

>> ones(3,2)

>> eye(3), eye(2,3)

>> magic(3)

>> hilb(5)

>> s = zeros(20,25);

>> help elmat

>> help specmat

Ejecute en la ventana de comandos

las siguientes expresiones y luego

en un archivo M-File comentar cada

uno de las expresiones ingresadas.

Page 11: Utp pds_s_lab2 mat_lab basico

Matrices. Ejercicio 5

11Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> -3:3

>> x = -3 : .3 : 3

>> x(2:12)

>> x(9:-2:1)

>> x=10:100;

>> x(40:5:60)

>> a = [1:6 ; 2:7 ; 4:9]

>> a, a(1,:), a(:,2)

>> s = rand(10,5); s(6:7, 2:4)

Ejecute en la ventana de

comandos las siguientes

expresiones y luego en un archivo

M-File comentar cada uno de las

expresiones ingresadas.

Page 12: Utp pds_s_lab2 mat_lab basico

Matrices. Ejercicio 6

12Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> for i=1:10,...

>> for j=1:10,...

>> t(i,j) = i/j;...

>> end;...

>> end;...

>> t

Ejecute en la ventana de comandos las

siguientes expresiones y luego en un

archivo M-File comentar cada uno de

las expresiones ingresadas.

Page 13: Utp pds_s_lab2 mat_lab basico

Aritmética Matricial. Ejercicio 7

13Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> a = [1 2 3 ; 4 5 6 ; 7 8 10], b = [1 1 1]’

>> 2*a, a/4

>> a + [b,b,b]

>> a+1, b+2

>> a*b, b*a

>> b’*a

>> a*a’ , a’ *a

>> b’ *b, b*b’

>> a^2, a.^2

>> a.*a, b.*b

>> 1./a

>> 1./a.^2

Ejecute en la ventana de

comandos las siguientes

expresiones y luego en un

archivo M-File comentar

cada uno de las expresiones

ingresadas.

Page 14: Utp pds_s_lab2 mat_lab basico

Aritmética Matricial. Ejercicio 8

14Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> x = a\b

>> a*x, a*x-b

>> b = [1 1 0]’

>> x = a\b

>> a*x, a*x-b

>> a(3,3) = 9

>> x = b/a

Ejecute en la ventana de comandos las

siguientes expresiones y luego en un

archivo M-File comentar cada uno de las

expresiones ingresadas.

Page 15: Utp pds_s_lab2 mat_lab basico

Funciones Matriciales. Ejercicio 9

15Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> det(a)

>> rank(a)

>> norm(a)

>> null(a)

>> a(3,3) = 10

>> h=hilb(5)

>> cond(a)

>> inv(h)

>> eig(h)

>> help eps

>> eps

Ejecute en la ventana de comandos las

siguientes expresiones y luego en un

archivo M-File comentar cada uno de las

expresiones ingresadas.

Page 16: Utp pds_s_lab2 mat_lab basico

Gráficos. Ejercicio 10

16Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> x = -10:.1:10;

>> plot( x.^2 )

>> figure

>> plot( x, x.^2 )

>> figure

>> plot( x.^2, x )

>> plot((-10:.1:10).^2)

>> plot( x, x.*sin(x) )

>> plot( x.*cos(x), x.*sin(x) )

>> comet( x.*cos(x), x.*sin(x) )

>> plot3(x.*cos(x),x.*sin(x),x)

Ejecute en la ventana de

comandos las siguientes

expresiones y luego en un

archivo M-File comentar cada

uno de las expresiones

ingresadas.

Page 17: Utp pds_s_lab2 mat_lab basico

Gráficos. Ejercicio 11

17Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

>> [x y] = meshgrid(-3:.1:3, -3:.1:3);

>> z = x.^2 - y.^2;

>> mesh(x,y,z)

>> plot3(x,y,z)

>> surf(x,y,z)

>> contour(z)

>> help slice

>> help plotxy

>> help plotxyz

>> help graphics

Ejecute en la ventana de

comandos las siguientes

expresiones y luego en un

archivo M-File comentar

cada uno de las

expresiones ingresadas.

Page 18: Utp pds_s_lab2 mat_lab basico

Funciones y scripts. Ejercicio 12

18Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

[x y] = meshgrid(-3:.1:3, -3:.1:3);

z = x.^2 - y.^2;

mesh(x,y,z);

Crear un archivo prueba.m

que contenga lo siguiente:

>> pruebaEjecutar:

A = [2, 3, 4; 5, 6, 7; 8, 9, 0];

Crear un archivo mimatriz.m

que contenga lo siguiente:

>> mimatrizEjecutar:

Page 19: Utp pds_s_lab2 mat_lab basico

Funciones y scripts. Ejercicio 13

19Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

function sqroot(x)

% Compute square root by Newton’s method

% Initial guess

xstart = 1;

for i = 1:100

xnew = ( xstart + x/xstart)/2;

disp(xnew);

if abs(xnew - xstart)/xnew < eps, break, end;

xstart = xnew;

end;

Crear un archivo

sqroot.m que contenga

lo siguiente:

>> sqroot(4)Ejecutar:

Page 20: Utp pds_s_lab2 mat_lab basico

Funciones y scripts. Ejercicio 13

20Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

function [xnew] = sqrooto(x,xstart)

% calculo de la raiz por el metodo de Newton

% Eliminamos Initial Guess porque xstart tiene ahora un valor inicial

for i = 1:100

xnew = ( xstart + x/xstart)/2;

disp(xnew);

if abs(xnew - xstart)/xnew < eps, break, end;

xstart = xnew;

end;

Crear un archivo sqrooto.m que contenga lo siguiente:

>> format long

>> sqrooto(19,1)

>> path

Ejecutar:

Page 21: Utp pds_s_lab2 mat_lab basico

Informe de Laboratorio 2

21Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P.

� El informe de laboratorio se presentara con el desarrollo de

todos los ejercicios desarrollados y preguntas de esta

presentación.

� El informe debe ser básicamente un documento gráfico en

lo posible y debe adjuntarse los códigos con los comentarios

solicitados en USB.

� Lo mas importante de un informe de laboratorio son los

conclusiones, comentarios y observaciones.

� Si han utilizado fuentes adicionales, adjuntarlas sólo en USB.

� EL Informe presentar impreso y en formato digital (en USB).

Page 22: Utp pds_s_lab2 mat_lab basico

Presentación

22Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� Todas las fuentes y el Informe deben presentarse en USB,

dentro de una carpeta que lleve las iniciales del curso, sus

Apellidos, guion bajo y luego el numero de laboratorio.

Ejemplo:

PDS_BenitezPalacios_L2

� Si se utilizan fuentes, deben conservar el nombre original y

agregar _tema.

� Las Tareas que no cumplan las indicaciones

no serán recepcionados por el profesor.

Page 23: Utp pds_s_lab2 mat_lab basico

Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 23

Agradecimiento