Documente Academic
Documente Profesional
Documente Cultură
Otoño 2017
Contenido
Parte I
Preliminares Matemáticos
MATLAB.
Vectores.
Producto interno o producto escalar.
Programación simbólica.
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
MATLAB
MATLAB
Código fuente.
toolbox.
: Control (lineal, no lineal, adaptable, óptimo,
digital), procesamiento de imágenes,
instrumentación, visión, cinemática, dinámica,
etc.
Simulink.
Simulación de sistemas dinámicos.
Robótica y mecatrónica.
Control de robots manipuladores.
Control digital.
Procesamiento de señales.
Figura 1: MATLAB. Filtrado y estimación.
Análisis de resultados experimentales.
Lenguaje de programación para matrices.
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 3 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Ambiente de programación
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 4 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 5 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
f x >> a=1; ←-
f x >> a&b ←-
f x >> b=2; ←-
ans=
a+b=
1
3
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 6 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
diary
La función diary off cierra el registro de instrucciones y cálculos realizados en la ventana de comandos de
MATLAB.
El usuario define la trayectoria del directorio de trabajo donde quedará almacenado el archivo diary, por ejemplo:
c://simulaciones/
Para visualizar el archivo diary (almacenado en el directorio del usuario), se puede abrir con el editor de texto de
MATLAB o también directamente en la ventana de comandos de la siguiente forma:
diary on
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 8 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Es posible registrar la información en un archivo definido por el usuario utilizando la siguiente sintaxis.
diary archivo
donde archivo es del tipo texto y cuyo nombre lo proporciona el usuario; inclusive puede definir la clase de
extensión, por ejemplo: miprograma.dat, miprograma.txt, miprograma.m; considere el siguiente código en la ventana
de comandos:
A través del editor de texto de MATLAB, es
fx >> diary miprograma.m ←- posible cargar el archivo miprograma.m al
fx >> clc ←- ambiente de programación.
fx >> clear all ←-
fx >> close all ←- miprograma.m
fx >> format short ←- 1− clc
fx >> x=-pi:pi/100:pi; ←- 2− clear all
fx >> y=sin(x); ←- 3− close all
fx >> plot(x,y) ←- 4− format short
fx >> diary off ←- 5− x=-pi:pi/100:pi;
6− y=sin(x);
Mediante este procedimiento, la información gra- 7− plot(x,y)
bada en el archivo miprograma.m se convierte 8− diary off
en un script que se puede editar y ejecutar en
MATLAB.
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 9 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Vectores
En general un espacio vectorial sobre un campo F consta de un conjunto V en el que está definida una operación de
suma (la cual satisface las propiedades de un grupo abeliano conmutativo), junto con una operación de multiplicación
definida entre elementos de V y elementos de F tal que esta operación asocia escalares y vectores, posee los elementos
identidad y neutro.
Notación
La notación o representación de un vector no es única, hay varias representaciones entre las más usadas se encuentran
las siguientes:
x , y , z , α, β, ω ∈ IRn
x , y , z , α, β, ω ∈ IRn×1
x1
x2 T
x = .. = x1 x2 · · · xn ; con xi ∈ IR para i = 1 · · · n.
.
xn
Si x , y , z ∈ IRn
x + y = y + x ∈ IRn
x + (y + z ) = y + (x + z ) = z + (y + x ) ∈ IRn
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 10 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 11 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 12 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Vectores
Si α ∈ IR y x ∈ IRn
x1 αx1 x1 α x1
x2 αx2 x2 α x2
αx = α .. = .. = .. = .. α = x α
. . . .
xn αxn xn α xn
Norma euclidiana
La norma de un vector x ∈ IRn se le denomina norma euclidiana y es una función escalar representada por: kx k ∈ IR+ .
p pPn √
kx k = x12 + x22 + · · · + xn2 = i=1 xi
2
= xTx
kx k > 0 ⇐⇒ x 6= 0
01
02
kx k = 0 ⇐⇒ x = 0 = .. .
.
0n
kx k =norm(x,2)
kx k =sqrt(dot(x,x))
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 13 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Vectores
La interpretación geométrica de la norma euclidiana kx k de un vector x ∈ IRn es la lı́nea diagonal desde las coordenadas
cartesianas (x1 , x2 , · · · , xn ) hasta el origen del sistema de referencia cartesiano (ver figura 5).
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 14 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
x · y = x T y = x1 y1 + x2 y2 + · · · + xn yn
x · y = kx kky k cos(θ)
El producto interno entre vectores (dot product) x · y , es una operación definida sobre dos vectores x , y ∈ IRn de
un espacio euclidiano cuyo resultado es un número o escalar. Esta operación permite analizar las propiedades de
proyección geométrica, ortogonalidad en dos y tres dimensiones.
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 15 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
x · y = x T y = x1 y1 + x2 y2 + · · · + xn yn
x · y = kx kky k cos(θ)
Conmutativa x · y = y · x .
p p
kx k = x12 + x22 + · · · + xn2 , ky k = y12 + y22 + · · · + yn2
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 16 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
for
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 18 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Matrices
Una matriz es un arreglo rectangular de datos o números, tienen n renglones por p columnas; la notación matemática
más común para representar a una matriz es: A ∈ IRn×p . Matrices con una sola columna o renglón significan vectores
para MATLAB, por ejemplo x ∈ IRn×1 o y ∈ IR1×n , respectivamente. Especial significado representan los escalares
cuya interpretación para propósitos de programación corresponde a una representación de matriz del tipo IR1×1 .
Los elementos del i-ésimo renglón o de la j -ésima columna de una matriz A son denotados como: A(i, j ), la expresión
A(3, 4) representa un elemento de la matriz que se encuentra localizado en el tercer renglón y cuarta columna.
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 19 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Matrices
A = [2, 3, 4; 5 6 8; 7, 8 9]
De tomarse en cuenta que el operador ; además de emplearse en matrices tiene otra función cuando se inserta al
finalizar una variable, constante o función desactiva la opción de desplegado.
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 20 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Matrices
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 21 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Matrices
El operador colon : se puede emplear en matrices para referenciar a una porción de la matriz. Por ejemplo, sea una
matriz A ∈ IR5×5
1 2 3 4 5
6 7 8 9 10
11 12 13 14
A = 15
16 17 18 19 20
21 22 23 24 25
Las referencias A(1 : 5, 1), A(1 : 5, 2), A(1 : 5, 3), A(1 : 5, 4), A(1 : 5, 5) representan los 5 renglones de las columnas
j = 1 · · · 5, respectivamente
1 2
6 7
A(1 : 5, 1) = 11
A(1 : 5, 2) = 12
16 17
21 22
3 4
8 9
A(1 : 5, 3) = 13
A(1 : 5, 4) = 14
18 19
23 24
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 22 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Matrices
Para obtener las 5 columnas de cada renglón se representa por A(1, 1 : 5), A(2, 1 : 5), A(3, 1 : 5), A(4, 1 : 5), A(5, 1 : 5)
A(1, 1 : 5) = 1 2 3 4 5 A(2, 1 : 5) = 6 7 8 9 10
A(3, 1 : 5) = 11 12 13 14 15 A(4, 1 : 5) = 16 17 18 19 20
A(5, 1 : 5) = 21 22 23 24 25
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 23 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Programa en variables simbólicas MATLAB para obtener la norma espectral y determinante de una matriz A ∈ IR2×2 :
Matrices
Existen varias formas para generar matrices básicas en MATLAB, se pueden generar con funciones especı́ficas, con
funciones definidas por el usuario, o con el uso del operador colon :
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 25 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Matrices
La siguiente tabla muestra las opciones más comunes (funciones especiales y por asignación de datos) que permiten generar
matrices básicas.
:
Tabla 1: Funciones especiales para generar matrices básicas
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 26 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
V (x ) = x T Ax = x T As + Ask x = x T As x + x T Ask x = x T As x
x T Ask x = 0
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 27 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 28 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 29 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Ejercicios en clase
Ejemplos de programación en MATLAB.
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 30 / 31
MATLAB Vectores Programación simbólica Producto interno vectorial Matrices Ejercicios en clase
Lecturas recomendadas
Lecturas recomendadas
www.mathworks.com
Fernando Reyes. MATLAB Aplicado a Robótica y Mecatrónica. Alfaomega 2012.
Dr. Fernando Reyes Cortés Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica: Licenciatura en Ingenierı́a Mecatrónica
Preliminares matemáticos ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/ Robótica (Otoño 2017, LIMM 254 001/33499) 31 / 31