Este documento presenta el laboratorio 2 de MatLab básico para el curso de Procesamiento Digital de Señales. Explica los objetivos del laboratorio, introduce conceptos básicos de MatLab y presenta 13 ejercicios para practicar operaciones matriciales, gráficos y funciones en MatLab. El documento incluye instrucciones para la presentación del informe del laboratorio.
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Bronson Duhart
Documento sobre el modelado, control y simulación de un robot planar de 2 GDL elaborado para la materia de Realidad Virtual y Simulación en la carrera de Ingeniería en Sistemas Digitales y Robótica.
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Bronson Duhart
Documento sobre el modelado, control y simulación de un robot planar de 2 GDL elaborado para la materia de Realidad Virtual y Simulación en la carrera de Ingeniería en Sistemas Digitales y Robótica.
1. Facultad de Ingeniería Electrónica y Mecatrónica
Procesamiento Digital de Señales
(TC61)
Laboratorio: 2
MatLab básico
Ing. José C. Benítez 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
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 2
3. 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
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 3
4. Introducción
• 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.
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 4
5. Introducción
• 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..
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 5
6. Fundamentos. Ejercicio 1
Ejecute en la ventana de comandos >>
las siguientes expresiones y luego >> quit
en un archivo M-File comentar cada >> 2+3
uno de las expresiones ingresadas. >> 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
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 6
7. Fundamentos. Ejercicio 1
>> a=sqrt(2)
>> format long, b=sqrt(2)
>> a-b
>> format short
>> help
>> help general
>> lookfor
>> helpwin
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 7
8. Guardando el Workspace. Ejercicio 2
Ejecute en la ventana de comandos >> diary lab2.txt
las siguientes expresiones y luego >> save x.value x –ascii
en un archivo M-File comentar cada >> save milab2
uno de las expresiones ingresadas. >> 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.
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 8
9. Matrices. Ejercicio 3
Ejecute en la ventana de comandos >> a = [1,2,3; 4,5,6]
las siguientes expresiones y luego >> a(1,2), a(2,3)
en un archivo M-File comentar cada >> a(2,3) = 10
uno de las expresiones ingresadas. >> 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] ]
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 9
10. Matrices. Ejercicio 4
Ejecute en la ventana de comandos >> rand(1,3), rand(2)
las siguientes expresiones y luego >> zeros(3)
en un archivo M-File comentar cada >> ones(3,2)
uno de las expresiones ingresadas. >> eye(3), eye(2,3)
>> magic(3)
>> hilb(5)
>> s = zeros(20,25);
>> help elmat
>> help specmat
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 10
11. Matrices. Ejercicio 5
Ejecute en la ventana de >> -3:3
comandos las siguientes >> x = -3 : .3 : 3
expresiones y luego en un archivo >> x(2:12)
M-File comentar cada uno de las >> x(9:-2:1)
expresiones ingresadas. >> 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)
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 11
12. Matrices. Ejercicio 6
Ejecute en la ventana de comandos las >> for i=1:10,...
siguientes expresiones y luego en un >> for j=1:10,...
archivo M-File comentar cada uno de >> t(i,j) = i/j;...
las expresiones ingresadas. >> end;...
>> end;...
>> t
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 12
13. Aritmética Matricial. Ejercicio 7
Ejecute en la ventana de >> a = [1 2 3 ; 4 5 6 ; 7 8 10], b = [1 1 1]’
comandos las siguientes >> 2*a, a/4
expresiones y luego en un >> a + [b,b,b]
archivo M-File comentar >> a+1, b+2
cada uno de las expresiones >> a*b, b*a
ingresadas. >> b’*a
>> a*a’ , a’ *a
>> b’ *b, b*b’
>> a^2, a.^2
>> a.*a, b.*b
>> 1./a
>> 1./a.^2
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 13
14. Aritmética Matricial. Ejercicio 8
Ejecute en la ventana de comandos las >> x = ab
siguientes expresiones y luego en un >> a*x, a*x-b
archivo M-File comentar cada uno de las >> b = [1 1 0]’
expresiones ingresadas. >> x = ab
>> a*x, a*x-b
>> a(3,3) = 9
>> x = b/a
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 14
15. Funciones Matriciales. Ejercicio 9
>> det(a)
Ejecute en la ventana de comandos las >> rank(a)
siguientes expresiones y luego en un >> norm(a)
archivo M-File comentar cada uno de las >> null(a)
expresiones ingresadas.
>> a(3,3) = 10
>> h=hilb(5)
>> cond(a)
>> inv(h)
>> eig(h)
>> help eps
>> eps
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 15
16. Gráficos. Ejercicio 10
Ejecute en la ventana de >> x = -10:.1:10;
comandos las siguientes >> plot( x.^2 )
expresiones y luego en un >> figure
archivo M-File comentar cada >> plot( x, x.^2 )
uno de las expresiones >> figure
ingresadas. >> 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)
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 16
17. Gráficos. Ejercicio 11
Ejecute en la ventana de >> [x y] = meshgrid(-3:.1:3, -3:.1:3);
comandos las siguientes >> z = x.^2 - y.^2;
expresiones y luego en un >> mesh(x,y,z)
archivo M-File comentar >> plot3(x,y,z)
cada uno de las >> surf(x,y,z)
expresiones ingresadas. >> contour(z)
>> help slice
>> help plotxy
>> help plotxyz
>> help graphics
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 17
18. Funciones y scripts. Ejercicio 12
Crear un archivo prueba.m [x y] = meshgrid(-3:.1:3, -3:.1:3);
que contenga lo siguiente: z = x.^2 - y.^2;
mesh(x,y,z);
Ejecutar: >> prueba
Crear un archivo mimatriz.m
que contenga lo siguiente:
A = [2, 3, 4; 5, 6, 7; 8, 9, 0];
Ejecutar: >> mimatriz
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 18
19. Funciones y scripts. Ejercicio 13
Crear un archivo function sqroot(x)
sqroot.m que contenga % Compute square root by Newton’s method
lo siguiente: % 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;
Ejecutar: >> sqroot(4)
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 19
20. Funciones y scripts. Ejercicio 13
Crear un archivo sqrooto.m que contenga lo siguiente:
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;
Ejecutar: >> format long
>> sqrooto(19,1)
>> path
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 20
21. Informe de Laboratorio 2
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).
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 21
22. Presentación
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.
Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P. 22
23. Agradecimiento
Procesamiento Digital de Selñales - Prof. Ing. Jose C. Benitez P. 23