Está en la página 1de 31

Preliminares matematicos

Facultad de Ciencias de la Electr


onica
Benem
erita Universidad Aut
onoma de Puebla

Ingeniera Mecatr
onica y Licenciaturas en Electr
onica
Fernando Reyes Cort
es

Rob
otica
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/
Primavera 2016

Contenido

Parte I
Preliminares Matematicos
MATLAB.
Vectores.
Producto interno o producto escalar.
Programaci
on simb
olica.

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

MATLAB

MATLAB

Codigo fuente.
toolbox.
Control (lineal, no lineal, adaptable,
optimo,
digital), procesamiento de im
agenes,
instrumentacion, vision, cinem
atica, din
amica,
etc.

Figura 1: MATLAB.

Lenguaje de programacion para matrices.

Simulink.
Simulacion de sistemas dinamicos.
Robotica y mecatronica.
Control de robots manipuladores.
Control digital.
Procesamiento de se
nales.
Filtrado y estimacion.
Analisis de resultados experimentales.

MATLAB significa matrix laboratory


(laboratorio matricial)

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

3 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Ambiente de programaci
on

Figura 2: Ambiente de programaci


on de MATLAB 2015a.

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

4 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Ambiente de programaci
on

Figura 3: Ventana de comandos de MATLAB.

f x >>

i=3 i=

f x >>

6+5 ans=

Fernando Reyes Cort


es
Preliminares matem
aticos

11

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

5 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Ambiente de programaci
on

f x >>
f x >>

a=1; b=2; a+b=

f x >>

a&b ans=
1

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

6 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Ambiente de programaci
on

Sugerencias u
tiles, cuando se trabaja directamente en la ventana de comandos de MATLAB.
Calculos, operaciones, comentarios, instrucciones de programacion realizados en MATLAB (sobre la ventana de
comandos) pueden ser registrados (grabados) en un archivo tipo ASCII por medio de la funcion diary.
diary
Por ejemplo, escribir el siguiente codigo en la ventana de comandos:
f x >> diary f x >> clc f x >> clear all f x >> close all f x >> format short f x >> x=-pi:pi/100:pi; f x >> y=sin(x); f x >> plot(x,y) f x >> diary off Las instrucciones y calculos comprendidos entre
diary y diary off se graban en un archivo de texto
denominado diary, el cual se encuentra en el directorio del usuario o en el directorio de trabajo de
MATLAB (esto depende como el usuario definio
dichas trayectorias).
Fernando Reyes Cort
es
Preliminares matem
aticos

Funci
on senoidal

Figura 4: Funci
on senoidal y = sen(x ).

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

7 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Ambiente de programaci
on

La funcion diary off cierra el registro de instrucciones y calculos realizados en la ventana de comandos de
MATLAB.
El usuario define la trayectoria del directorio de trabajo donde quedara 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 tambien directamente en la ventana de comandos de la siguiente forma:
f x >> type c://simulaciones/diary
clc
clear all
close all
format short
x=-pi:pi/100:pi;
y=sin(x);
plot(x,y)
diary off
La funcion diary tambien acepta la siguiente sintaxis:
diary on
Fernando Reyes Cort
es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

8 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Ambiente de programaci
on

Es posible registrar la informacion 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 extension, por ejemplo: miprograma.dat, miprograma.txt, miprograma.m; considere el siguiente codigo en la ventana de
comandos:
fx
fx
fx
fx
fx
fx
fx
fx
fx

>>
>>
>>
>>
>>
>>
>>
>>
>>

diary miprograma.m clc clear all close all format short x=-pi:pi/100:pi; y=sin(x); plot(x,y) diary off -

Mediante este procedimiento, la informacion grabada en el archivo miprograma.m se convierte


en un script que se puede editar y ejecutar en
MATLAB.
Fernando Reyes Cort
es
Preliminares matem
aticos

A traves del editor de texto de MATLAB, es


posible cargar el archivo miprograma.m al
ambiente de programacion.
miprograma.m
1 clc
2 clear all
3 close all
4 format short
5 x=-pi:pi/100:pi;
6 y=sin(x);
7 plot(x,y)
8 diary off

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

9 / 31

MATLAB

Vectores

Programaci
on simb
olica

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 esta definida una operacion de
suma (la cual satisface las propiedades de un grupo abeliano conmutativo), junto con una operacion de multiplicacion
definida entre elementos de V y elementos de F tal que esta operacion asocia escalares y vectores, posee los elementos
identidad y neutro.
Notaci
on
La notacion o representacion de un vector no es u
nica, hay varias representaciones entre las mas usadas se encuentran
las siguientes:
x , y , z , , , IRn
x , y , z , , , IRn1

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

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

10 / 31

MATLAB

Vectores

C
odigo MATLAB 1:

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

ejemplo1

Robotica, perodo primavera 2016. Licenciatura en Ingeniera Mecatronica/ Licenciatura en Electronica


Fernando Reyes Cortes. Facultad de Ciencias de la Electronica BUAP.

ejemplo1 .m
1
2
3
4
5
6
7
8
9
10
11
12
13

MATLAB version 2015a

% Es recomendable iniciar un programa en MATLAB con las siguientes instrucciones


clc; % limpia pantalla
clear all; % limpia memoria asignada a variables
close all; % cierra gr
aficas o archivos previamente abiertos
format short %formato corto que despliega cuatro fracciones despues del punto decimal
% Vectores
%declaracion de vectores
x=[1; 2; 3]; % x IR3
y=[4; 5; 6]; % y IR3
a=3; %declaracion de un escalar: a IR
x+y % la suma de vectores produce un vector x , y IRn ; x + y = y + x IRn
% multiplicacion de un escalar entre vectores: a(x + y ) = ax + ay IRn
a*(x+y) % a(x + y ) IRn

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

11 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Programacion con variables simbolicas.


Verifique en la ventana de comandos de MATLABel siguiente codigo para variables simbolicas.
C
odigo MATLAB 6:

ejemplo2

Robotica, perodo primavera 2016. Licenciatura en Ingeniera Mecatronica/ Licenciatura en Electronica


Fernando Reyes Cortes. Facultad de Ciencias de la Electronica BUAP.

ejemplo2.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14

MATLAB version 2015a

clc;
clear all;
close all;
format short
%variables simb
olicas
syms a x1 x2 x3 y1 y2 y3 real
x=[x1; x2; x3];
y=[y1; y2; y3];

a*(x+y) % a x + y IRn
% Debe tenerse cuidado con las operaciones de vectores
% El producto escalar o punto produce un escalar: x T y = y T x IR
% La siguiente operaci
on produce una matriz: % y T x IRnn
T
T
x*y % x y = y x IR
x*y % x y T IRnn . Adem
as, x y T 6= y x T

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

12 / 31

MATLAB

Vectores

Programaci
on simb
olica

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 funcion escalar representada por: kx k IR+ .

p
pPn
2
kx k = x12 + x22 + + xn2 =
x
=
xTx
i
i=1
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))

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

13 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Vectores
La interpretacion geometrica de la norma euclidiana kx k de un vector x IRn es la lnea diagonal desde las coordenadas
cartesianas (x1 , x2 , , xn ) hasta el origen del sistema de referencia cartesiano (ver figura 5).

Figura 5: Interpretaci
on geom
etrica de la norma euclidiana: x IR3 .

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

14 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Producto interno vectorial


Considere los siguientes vectores x , y IRn , el producto interno vectorial se define como:

x y = x T y = x1 y1 + x2 y2 + + xn yn
x y = kx kky k cos()
donde es el angulo definido entre los vectores x y y .

Figura 6: Interpretaci
on geom
etrica del producto punto x y .

El producto interno entre vectores (dot product) x y , es una operacion definida sobre dos vectores x , y IRn de
un espacio euclidiano cuyo resultado es un n
umero o escalar. Esta operacion permite analizar las propiedades de
proyeccion geometrica, ortogonalidad en dos y tres dimensiones.
Fernando Reyes Cort
es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

15 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Producto interno vectorial

Propiedades del producto interno:

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

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

16 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

for

codigo ejemplo

Figura 7: Instrucci
on for.

Sintaxis de la instruccion for


for contador=1:n
instrucci
on_1;
..............;
instrucci
on_n;
end
Fernando Reyes Cort
es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

17 / 31

MATLAB

Vectores

C
odigo MATLAB 3:

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

ejemplo3

Robotica, perodo primavera 2016. Licenciatura en Ingeniera Mecatronica/ Licenciatura en Electronica


Fernando Reyes Cortes. Facultad de Ciencias de la Electronica BUAP.

ejemplo3.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

MATLAB version 2015a

clc;
clear all;
close all;
format short
w=[1;4;6];
normaw=norm(w);
norma w= sqrt(w*w);
norma w1=sqrt(w(1,1)*w(1,1)+w(2,1)*w(2,1)+w(3,1)*w(3,1));
[n,m]=size(w);
norma w2=0;
fork=1:n
norma w2=norma w2+w(k,1)*w(k,1); %vector columna w(k,1)*t(k,1)
end
norma w2=sqrt(norma w2);
disp(Valor de la norma del vector w)
[normaw, norma w norma w1, norma w2]

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

18 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Programa en variables simbolicas MATLAB para obtener la norma espectral y determinante de una matriz A IR22 :
C
odigo MATLAB 4:

preliminares6.m

Robotica, perodo primavera 2016. Licenciatura en Ingeniera Mecatronica/ Licenciatura en Electronica


Fernando Reyes Cortes. Facultad de Ciencias de la Electronica BUAP.

preliminares6.m .m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

MATLAB version 2015a

clc;
clear all;
close all;
format short
syms a11 a12 a21 a22;
A=[2 3; 4, 5];
A1=[a11 a12; a21, a22];
norm(A)
vp=sqrt(eig(A*A))
if abs(vp(1,1)>abs(vp(2,1)))
vpmax=vp(1,1);
else vpmax=vp(2,1);
end
disp(norma espectral de una matriz A)
[norm(A) vpmax]
A1
det(A1)
inv(A1)

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

19 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Matrices

Una matriz es un arreglo rectangular de datos o n


umeros, tienen n renglones por p columnas; la notacion matematica
mas com
un para representar a una matriz es: A IRnp . Matrices con una sola columna o renglon significan vectores
para MATLAB, por ejemplo x IRn1 o y IR1n , respectivamente. Especial significado representan los escalares
cuya interpretacion para propositos de programacion corresponde a una representacion de matriz del tipo IR11 .

Figura 8: Componentes de una matriz A(i, j ).

Los elementos del i-esimo renglon o de la j -esima columna de una matriz A son denotados como: A(i, j ), la expresion
A(3, 4) representa un elemento de la matriz que se encuentra localizado en el tercer renglon y cuarta columna.

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

20 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Matrices

Matriz cuadrada A IRnn


La matriz se inicializa por corchetes A = []
Las entradas de una matriz puede ser de la siguiente forma: separando los elementos de un renglon por espacios
en blanco o por comas: A = [2, 3, 4, 78.3, 45]
Es posible emplear u
nicamente espacios en blanco: A = [2 3 4 78.3 45]
Combinando comas y espacios en blanco es otra posibilidad de inicializar una matriz: A = [2, 3, 4, 78.3, 45]
Usar el operador semicolon ; para indicar el fin del renglon y generar otro mas
A = [2, 3, 4; 5 6 8; 7, 8 9]
De tomarse en cuenta que el operador ; ademas de emplearse en matrices tiene otra funcion cuando se inserta al
finalizar una variable, constante o funcion desactiva la opcion de desplegado.
Norma de una matriz
nn

La norma
p de una matriz A IR
kAk = max {AT A}

Fernando Reyes Cort


es
Preliminares matem
aticos

se le denomina norma espectral y esta representada por: kAk IR+ .

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

21 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Matrices

Considerese la siguiente matriz A IR44

1 3 3 2
0 3 4 12

A =
12 34 1 23
9 7 2 3
Se inicializa como: A=[1,3,3,2; 0, 3, 4,12; 12,34,1,23;9,7,2,3].
En general A(i, j ) 6= A(j , i) o A 6= AT . Si la matriz es simetrica, entonces se cumple A(i, j ) = A(j , i) o A = AT .
En MATLAB el operador que representa la matriz transpuesta es
Debe tenerse cuidado con el empleo del operador , ademas de su uso en matrices tambien se emplea en cadenas de
caracteres.

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

22 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Matrices
El operador colon : se puede emplear en matrices para referenciar a una porcion de la matriz. Por ejemplo, sea una
matriz A IR55

1 2 3 4
6 7 8 9

A =
11 12 13 14
16 17 18 19
21 22 23 24

5
10

15

20
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, 2) = 12
11
A(1 : 5, 1) =


16
17
21
22


3
4
8
9


A(1 : 5, 4) = 14
13
A(1 : 5, 3) =


18
19
23
24
Fernando Reyes Cort
es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

23 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Matrices

Para obtener las 5 columnas de cada renglon se representa por A(1, 1 : 5), A(2, 1 : 5), A(3, 1 : 5), A(4, 1 : 5), A(5, 1 : 5)

Fernando Reyes Cort


es
Preliminares matem
aticos

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

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

24 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Matrices

Existen varias formas para generar matrices basicas en MATLAB, se pueden generar con funciones especficas, con
funciones definidas por el usuario, o con el uso del operador colon :
A continuacion se enlistan varias opciones para generar matrices basicas en MATLAB:
Introduciendo una lista de elementos explcitos: A = [2, 3, 67; 5.3, 3.3, 2.4; 2, 9, 1]
Cargando matrices de archivos de datos experimentales o externos en formato de columnas:
matriz=load(datos.dat)
Generando matrices usando funciones que retornan matrices: matriz=mi_matriz(n,m)
Usando funciones de MATLAB por ejemplo: A=zeros(3,3).

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

25 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Matrices
La siguiente tabla muestra las opciones mas comunes (funciones especiales y por asignacion de datos) que permiten generar
matrices basicas.
:

Tabla 1: Funciones especiales para generar matrices b


asicas

Nombre de la funci
on
zeros(n,m)
ones(n,m)
rand(n,m)
randn(n,m)
magic(n)

eye(n,m)

A(1:n, 1:m)=

A=load

Fernando Reyes Cort


es
Preliminares matem
aticos

Descripcion y caractersticas
Genera una matriz IRnm donde todos sus elementos son cero.
Genera una matriz IRnm donde todos los elementos tienen el valor 1.
Genera una matriz IRnm donde las entradas son elementos aleatorios distribuidos
de manera uniforme.
Genera una matriz IRnm donde las entradas son elementos aleatorios distribuidos
normalmente.
Retorna una matriz cuadrada IRnn donde las entradas son n
umeros enteros desde
1 hasta n 2 . El n
umero n debe ser mayor o igual a 3.
Genera una matriz rectangular IRnm donde los elementos con ndices (i, j ) tal
que i = j tienen el valor de 1, y para entradas i 6= j tienen valor de 0. Si n = m,
entonces la matriz es cuadrada y diagonal.
Genera una matriz rectangular IRnm donde todos los elementos de la matriz A
adquieren el valor del escalar . Cuando n = m, entonces retorna una matriz
cuadrada.
Genera una matriz rectangular desde un archivo ASCII o de texto
load(nombre_archivo.tex); el archivo puede tener datos experimentales y asignarlos a una matriz para su procesamiento o analisis.

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

26 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Dada una matriz A IRnn :


A + AT
2
A AT
=
2

As =
Ask

Matriz simetrica
Matriz antisimetrica

Si x IRn :


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
Funcion de energa cuadratica: V (x ) = x T As x .
V (x1 , x2 ) = a11 x12 + a22 x22 + (a12 + a21 )x1 x2
 T 
    T 
 
a12 +a21
x1
a11 a12 x1
x1
a11
x1
2
=
=
a12 +a21
x2
a21 a22 x2
x2
a22
x2
2
 T 



x
x1
8 67
2
V (x1 , x2 ) = 8x12 + 67x1 x2 + 33x22 = 1
67
x2
33
x2
2

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

27 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Programacion con variables simbolicas.


Verifique en la ventana de comandos de MATLABel siguiente codigo con variables simbolicas para matrices.
C
odigo MATLAB 6:

preliminares4

Robotica, perodo primavera 2016. Licenciatura en Ingeniera Mecatronica/ Licenciatura en Electronica


Fernando Reyes Cortes. Facultad de Ciencias de la Electronica BUAP.

preliminares4.m
1
2
3
4
5
6
7
8
9
10
11
12

MATLAB version 2015a

clc;
clear all;
close all;
format short
%variables simb
olicas
syms x1 x2 x3 a11 a12 a21 a22 real
A=[a11 a12; a21 a22];
x=[x1; x2];
simple(collect(x*A*x))
As=(1/2)*(A+A);
Ask=(1/2)*(A-A);
[simplify(collect(x*A*x)), simplify(collect(x*As*x)), simplify(collect(x*Ask*x))]

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

28 / 31

MATLAB

Vectores

C
odigo MATLAB 6:

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

preliminares5

Robotica, perodo primavera 2016. Licenciatura en Ingeniera Mecatronica/ Licenciatura en Electronica


Fernando Reyes Cortes. Facultad de Ciencias de la Electronica BUAP.

preliminares5 .m
1
2
3
4
5
6
7
8
9
10

MATLAB version 2015a

clc;
clear all;
close all;
format short
A=[2 3; 4, 5];
x=[1; 2];
x*A*x;
As=(1/2)*(A+A);
Ask=(1/2)*(A-A);
[x*A*x x*As*x x*Ask*x]

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

29 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Ejercicios en clase
Ejemplos de programacion en MATLAB.

Figura 9: Desarrollo en clase.

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

30 / 31

MATLAB

Vectores

Programaci
on simb
olica

Producto interno vectorial

Matrices

Ejercicios en clase

Lecturas recomendadas

Lecturas recomendadas

www.mathworks.com
Fernando Reyes. MATLAB Aplicado a Robotica y Mecatronica. Alfaomega 2012.

Fernando Reyes Cort


es
Preliminares matem
aticos

Benem
erita Universidad Aut
onoma de Puebla
ftp://ece.buap.mx/pub/profesor/FernandoReyes/Robotica/

Facultad de Ciencias de la Electr


onica
Licenciaturas en Ingenier
a Mecatr
onica y Electr
onica

31 / 31