Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin a MatLab
2.1. Introduccin
http://ordenador.wingwit.com/Programacion/computer-programming-languages/87495.html
2.2. Matrices
a) = (
1 2 3
)
2 1 4
3 0
c) = (4 1
2 0
5
4)
3
1 2
b) = ( 0 0.5)
9 7
1
e) = (2)
3
9
Solucin
a) A = [ 1 2 3; 2 1 4 ]
a) A = [ 1, 2, 3; 2, 1, 4 ]
b) B = [ -1 2; 0 0.5; 9 -7 ]
c) C = [ 3 0 5; 4 1 4; 2 0 3 ]
d) D = [ 0.1 0.2 0.3 0.4 0.5 ]
e) E = [ -1; -2; -3 ]
Sugerencia
Para borrar una variable especfica se escribe el comando clear dejando un espacio y
escribiendo el nombre de la variable que se desea borrar. Utilizando slo el comando clear
se borran todas las variables que se tienen asignadas en la memoria. Para borrar nicamente
el contenido de la pantalla se escribe el comando clc seguido de ENTER.
a) AB
b) BA + C
c) D + E
d) A B
e) E 2
Solucin
Los smbolos + - * / son los operadores para suma, resta, multiplicacin y divisin
respectivamente (como en una calculadora).
10
a) A * B
b) B * A + C
Sugerencia
Para entender los mensajes de error que nos muestra MatLab, se debe, frecuentemente
hacer uso de la teora del lgebra Lineal. Tenga en cuenta cuando escriba los nombres de
comandos, funciones y variables que MatLab distingue entre maysculas y minsculas.
11
Solucin
Para obtener la matriz traspuesta se debe usar la comilla simple
a) A
b) B * A
c) ( A * B )
d) ( C + B * A )
e) D - E Error using - Matrix dimensions must agree.
MatLab indica que hay un error porque las matrices no son del mismo tamao.
2
2
0
5
1
3
7
8
4
0
4
8
7
3
9)
A = [ 1 -2 3 4; 5 2 7 8; 9 0 8 7; 6 5 4 3; 2 1 0 9]
size(A)
12
El comando size( ) nos indica el nmero de filas y el nmero de columnas de una matriz.
a) A (1, 1)
b) A (1, 2)
c) A (2, 1)
d) A (4, 4)
e) A (5, 5) Index exceeds matrix dimensions.
MatLab nos indica que hay un error porque la matriz no tiene estas dimensiones. Esta
matriz no tiene cinco columnas.
1
2
3
4
5
1
3
5
7
9
2
4
6
8
0)
a) Fila uno
b) Fila tres
c) Columna uno
d) Columna cuatro
e) Desde la fila uno hasta la fila tres.
f) Desde la fila dos hasta la fila cuatro.
g) Desde la columna uno hasta la columna tres.
h) Desde la columna dos hasta la cuatro.
i) La segunda y la cuarta fila nicamente.
j) La primera y la tercera columna nicamente.
13
Solucin
A = [ 6 1 1 2; 7 2 3 4; 8 3 5 6; 9 4 7 8; 0 5 9 0]
a) A ( 1 , : )
b) A ( 3 , : )
c) A ( : , 1 )
d) A ( : , 4 )
e) A ( 1 : 3 , : )
f) A ( 2 : 4 , : )
g) A ( : , 1 : 3 )
h) A ( : , 2 : 4 )
i) A ( [ 2 4 ] , : )
j) A ( : , [ 1 3 ] )
Ejemplo 6. Submatrices
Definir la matriz A en la ventana de comandos.
= (
3
1
2)
1 3
=(
Solucin
A = [ 2, 1, 1, 1 ; 0, 2, 2, 2 ; 3, 0, 1, 3 ]
B=A(1:2,1:3)
14
1 1
)
2 2
= (1
1 1 1 1 1
)
2 3 4 5 6
a) format long
b) format short
c) format rat
Solucin
3
4
7
5
0
0
1
1
1
3)
2
8
Solucin
a) A = zeros ( 3 , 4 )
b) A = ones ( 4 , 5 )
c) A = eye ( 3 )
d) A = rand (3 , 2 )
16
2
5
4
9
3
3
1
0
4
0)
5
8
Solucin
A=[1234;2530;1415;0908]
a) A ( 3 , 2 ) = 8
b) A ( 3 , : ) = 5
c) A ( : , 2 ) = 1
d) A ( [ 2 , 3 ] , : ) = A ( [ 3 , 2 ] , : )
e) A ( : , [ 2 , 3 ] ) = A ( : , [ 3 , 2 ] )
A1 = [ 1 2 3 ]
A2 = [ 4 5 6 ]
A3 = [ 7 8 9 ]
17
Solucin
A1 = [ 1 2 3 ]
A2 = [ 4 5 6 ]
A3 = [ 7 8 9 ]
A = [ A1 ; A2 ; A3 ]
Tareas 2.2
5 2 3
=(
)
2 3 4
1
= (9
0
3
0
5
4
0
2
= (0
3
7
1)
6
8
1 1 1
2 2 2)
0 1 3
1
= (5
2
3
9)
4
2. Indicar el error que se cometi en cada caso al editar la matriz A. Explicar las
respuestas.
a) A = [ 0 1 0 1 ; 1 0 1 0 ; 0 11 0 ; 1 0 0 1 ]
b) A = [ 0 1 0 1 ; 1 1 0 ; 0 1 1 0 ; 1 0 0 1 ]
c) A = [ 0 1 0 1 ; 1 0 1 0 ; 0 1 1 0 1 0 0 1 ]
d) A = [ 0 1 0 1 ; 1010 ; 0 1 1 0 ; 1 0 0 1 ]
3. La operacin C + B no es posible efectuarla para las matrices del ejercicio 1. Editar las
instrucciones adecuadas para poder sumar estas dos matrices.
5. Escribir las instrucciones que permitan obtener las cuatro submatrices que se indican
con las lneas punteadas A1, A2, A3, A4.
1 5 2
= (4 3 1
0 6 5
7 8
4 2)
3 6
1
0
6. Definir la matriz = 2 en la ventana de comandos. Explicar la respuesta de
0
(3)
MatLab cuando se le piden los siguientes productos:
a) A * A
b) A . * A
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0)
2
5
4
9
3
3
1
0
4
0).
5
8
Instrucciones:
3
2
1
0
5
4
3
2
7
6). Escribir las instrucciones para determinar:
5
4
Los comandos que permiten graficar funciones en dos dimensiones se ilustran en los
siguientes ejemplos. Con MatLab es posible agrupar y superponer las grficas de dichas
funciones. Tenga en cuenta que en este volumen se manejan funciones en dos dimensiones
pero el programa tambin lo hace con tres dimensiones, funciones vectoriales, etc.
Solucin
a) x = -2 : 0.01 : 1.5 ;
f = exp ( - x ) ;
Para construir la grfica se usa el comando plot( )
plot ( x, f )
b) xlabel ( x )
c) ylabel ( f ( x ) )
d) title ( Funcin Exponencial Decreciente )
21
Solucin
a) x = -2 : 0.2 : 2 ;
f = exp ( x ) ;
plot ( x, f )
b) xlabel ( x , fontsize , 15 )
c) ylabel ( f ( x ) , fontsize , 15 )
d) title ( Funcin Exponencial Creciente )
e) grid on
f) axis ( [ -3, 4, -1, 8 ] )
El comando axis( ) permite escalar los ejes y cambiar su apariencia.
Solucin
Un comando que tambin se puede usar para definir el vector del dominio es
linspace(min,mx,N). Cuando no se indica un valor para N, MatLab presenta por defecto
un vector linealmente espaciado de 100 datos.
22
Sugerencia
Cuando no se quiere manejar la cuadrcula se escribe el comando grid off
las caractersticas
indicadas.
Solucin
Sugerencia
Para consultar todo lo que MatLab puede desarrollar con las grficas, como por ejemplo los
colores que maneja, se escribe el comando help plot seguido de ENTER. A continuacin
23
aparecer una descripcin del comando plot en la ventana de comandos. Esto aplica para
cualquier otro comando.
Solucin
a) x = -3 : 0.01 : 6 ;
y = exp ( - x. 2 ) ;
b) plot ( x, y, k, linewidth, 4 )
Solucin
a) x = linspace ( -3 , 3 , 500 ) ;
y = x. * exp ( - x. 2 ) ;
() = 2
Solucin
a) clear all
b) x = -1 : 0.01 : 3 ;
f = exp ( - x. 2 ) ;
g = 2 * exp ( - x. 2 );
c) plot ( x, f ), grid on
figure
c) plot ( x, g ), grid on
() = 2
Solucin
a) x = linspace ( -1, 3, 50 );
f = exp (- x. 2 ) ;
g = 2 * exp (- x. 2 ) ;
b) plot ( x, f, r, x, g, b. )
c) legend ( f ( x ) , g ( x ) ) El comando legend( ) nos permite identificar la
grfica de cada una de las funciones.
Solucin
Para crear variables lgicas se utilizan los operadores relacionales ilustrados en la tabla 1.
<
Menor que
>
Mayor que
<=
>=
==
Igual
~=
Distinto
26
&
a) x = 1 : 1 : 9
b) x > 4
c) ( 2 < x ) & ( x < = 6 )
d) ( 3 < = x ) & ( x < = 5 )
Solucin
27
Solucin
El comando set( ) permite manipular las propiedades del objeto y el comando gca permite
manipular manualmente el tamao de los ejes.
e) set ( gcf, color , w )
f) set ( gcf, color, y)
28
Solucin
Para construir la matriz de 2 filas con 2 columnas cuyas entradas sean las grficas, se
escribe el comando subplot.
subplot (221), plot ( x, f1 , r ), grid on
Sugerencia.
No se debe cerrar la grfica sino minimizarla para no perder la informacin editada.
Solucin
Los datos de entrada del comando subplot se pueden separar tambin por comas.
subplot (4,1,1), plot ( x, y1 , k ), grid on
subplot (4,1,2), plot ( x, y2 , b ), grid on
subplot (4,1,3), plot ( x, y3 , r ), grid on
subplot (4,1,4), plot ( x, y4 , g ), grid on
set ( gcf, Color, y)
30
Tareas 2.3
3. Dibujar las grficas de las funciones trigonomtricas agrupndolas en una misma figura
y con las caractersticas indicadas:
() = ()
() = 2()
() = 3()
31
Figura 2: Grfica de = +
Figura 3: Grfica de = +
() = {
0,
< 0
1,
() = {
< 0
8. Dibujar en una matriz de tamao 1x2 las grficas de las funciones que se indican a
continuacin:
33
9. Dibujar en una matriz de tamao 2x1 las grficas de las funciones que se indican a
continuacin:
10. Escribir los comandos que se usaron para obtener la grfica que se ilustra en la figura 4.
11. De acuerdo con las instrucciones, escribir la frmula de la funcin definida a trozos.
Dibujar con lpiz y papel la grfica.
t = -2 : 0.001 : 2;
y = (-1).*((-2<=t)&(t<-1)) + (0)*((-1<t)&(t<-0.5)) + (-t).*((-0.5<=t)&(t<=0.5) +
(0)*((0.5<t)&(t<1)) + (1)*((1<=t)&(t<=2));
plot ( t, y, k, linewidth, 3)
grid on
axis ( [ -3, 3, -2, 2 ] )
34
Los archivos que contienen cdigo MatLab se denominan archivos-M (en ingls Mfiles) y tienen la extensin.m. Existen dos tipos de estos archivos: los guiones y las
funciones.
Los guiones (en ingls scripts) no aceptan datos de entrada o producen argumentos
de salida. Manejan datos de variables que se han usado previamente.
Las funciones (en ingls functions) pueden aceptar datos o argumentos de entrada y
regresan tambin datos de salida. Las variables internas de una funcin son
variables locales.
Para editar un archivo-M se puede usar un editor de textos como Word; lo nico que se
debe hacer al terminar es guardar el archivo de texto con la extensin.m.
Un diagrama de flujo (en ingls flowchart) es una de las tcnicas que se utilizan
para representar los algoritmos. En la figura 5, se ilustran algunos de los smbolos usados
en el diseo de los diagramas de flujo.
35
Ejemplo 1.
Estructura if - end
Tiene la forma general:
if
condicin
instrucciones
end
36
Solucin
Ejemplo 2.
Archivo-m function
Escribir en un archivo-m function el siguiente programa:
Asigna el valor de la funcin () = si y asigna el valor de la funcin
() = si > .
37
Solucin
function [ y ] = operacin ( x )
y = instrucciones
end
Para escribir el cdigo se accede al editor (figura 7). Esto puede hacerse desde el men
usando la ruta: File / New / Function
38
El smbolo % se usa para escribir los comentarios que detallan y explican los cdigos.
Es decir, si se inicia con este smbolo, MatLab interpretar esto como una lnea de
comentarios. La codificacin se escribir sobre la plantilla como se ilustra en la figura 8
despus de borrar los comentarios de color verde.
Se guarda el documento con la extensin m. Hay que tener en cuenta que el nombre de
la funcin debe coincidir con el nombre del archivo-M con el cual se guarda. De no ser as,
se podrn presentar errores de directorio y/o ejecucin. A continuacin en la ventana de
comandos aparecer un mensaje de error como se muestra en la figura 9.
39
ejemplo2( -10 )
ejemplo2( 0 )
ejemplo2( 25 )
Recomendacin
Para no estar escribiendo las mismas instrucciones cada rato, se usan las teclas , . Estas
devuelven a la ventana de comandos las instrucciones establecidas previamente y
guardadas en el histrico de comandos (en ingls Command History).
Ejemplo 3.
Archivo-m function
Escribir en un archivo-m function el siguiente programa:
Solucin
40
Ejemplo 4.
Estructura if - else - end
Una segunda forma del if end es la inclusin de la clusula else. Esta nueva clusula le
permite al programador el uso de un solo if en muchos casos para ejecutar dos bloques de
instrucciones.
La forma general es:
if
condicin
instrucciones a1
instrucciones a2
41
*
*
instrucciones an
else
instrucciones b1
instrucciones b2
*
*
instrucciones bn
end
Solucin
42
Ejemplo 5.
Archivo m-function
Escribir en un archivo-m function el siguiente programa:
+ =
Solucin
43
[ x, y ] = ejemplo5 ( 1, 1, 2, 2, -1, 3 )
Ejemplo 6.
Archivo m-function
Escribir en un archivo-m function el siguiente programa:
44
Solucin
Ejemplo 7.
Estructura switch - case - end
Se usa cuando se quiere revisar si una expresin es igual a algn valor determinado.
No se puede usar para revisar condiciones como a > 5 o b 3.
La forma general es:
switch
expresin
case valor 1
instrucciones a1
instrucciones a2
45
*
*
instrucciones an
case valor 2
instrucciones b1
instrucciones b2
*
*
instrucciones bn
case valor 3
instrucciones c1
instrucciones c2
*
*
instrucciones cn
case valor m
instrucciones m1
instrucciones m2
*
*
instrucciones mn
otherwise
instrucciones
end
Solucin
46
Ejemplo 8.
Archivo-function
Escribir en un archivo-m function el siguiente programa:
47
Solucin
Ejemplo 9.
Archivo-m function
Escribir en un archivo-m function el siguiente programa:
Construye la grfica de la funcin potencia () = :
Lineal (n = 1)
48
Cuadrtica (n = 2)
Cbica (n = 3)
n=
Solucin
49
Ejemplo 10.
Archivo-m function
Escribir en un archivo-m function el siguiente programa:
Solucin
50
Solucin
51
Ejemplo 12.
Archivo-m function
Escribir en un archivo-m function el siguiente programa:
Solucin
52
suma = 0;
Ejemplo 13.
Archivo-m script
Escribir en un archivo-m script el siguiente programa:
Solucin
La for se puede anidar, es decir, dentro de un ciclo de for puede haber uno o ms ciclos de
for como se muestra a continuacin.
53
Despus del ltimo end se coloca la instruccin disp(A) para que nos muestre la
matriz. En algunas ocasiones se necesita que el contador no vare de uno en uno. Para ello,
se indica el tamao de paso en la instruccin for.
Recomendacin
MatLab dispone de operaciones matriciales y vectoriales optimizadas por lo que se debe
evitar en lo posible el uso de bucles, ya que hacen que los programas funcionen ms
lentamente.
Ejemplo 14.
Estructura condicional while - end
54
El condicional while
while condicion
instrucciones a1
instrucciones a2
*
*
instrucciones an
end
Solucin
55
Ejemplo 15.
Archivo-m script
Escribir en un archivo-m script, el siguiente programa:
< .
Solucin
56
Ejemplo 16.
Archivo-m script
Escribir en un archivo-m script el siguiente programa:
Construye la tabla de valores de la funcin () = .
Solucin
57
Ejemplo 17.
Archivo-m script
Escribir en un archivo-m script el siguiente programa:
Construye la tabla de los valores redondeados con un dgito despus del punto decimal
de las funciones: () = y () = +. .
Solucin
58
Tareas 2.4
59
El desarrollo de la productoria = +.
a) Dibujar el diagrama de flujo.
b) Codificar usando la estructura condicional for - end.
La tabla de valores de las funciones logaritmo con base 10 y logaritmo con base
el nmero e de Euler.
60
Se les denomina GUI porque su nombre en ingls es Graphical User Interface. Las
ventanas de Word, las ventanas de Excel y las ventanas de MatLab son ejemplos de
interfaces. stas tambin se conocen como interfaces de usuario.
2.5.1.
Una vez hecho lo anterior el programa mostrar una ventana con opciones para construir la
GUI o si se desea mejor abrir y revisar una ya existente. (Figura 27)
62
2.5.2.
Axes (Ejes)
Crea un rea para grficas
Cada uno de estos controles maneja un conjunto especfico de propiedades. Para acceder a
ellas se hace a travs del inspector de propiedades.
64
Solucin
ForegroundColor
FontSize
String
Tag
Se debe tener en cuenta que las propiedades varan dependiendo del tipo de control.
65
Solucin
66
Qu se hace?
Se escoge la opcin OK.
Aparece el rea de trabajo o diseo de la figura 32.
67
Figura 33: Ilustra los controles arrastrados al rea de trabajo que se necesitan
Qu se hace ahora?
A continuacin se modifican y programan los respectivos controles (en cualquier orden).
Control 1
Inspector de propiedades
Este inspector se puede obtener clickeando dos veces
la parte izquierda del apuntador o ratn.
Pregunta: Qu se modifica?
68
Respuesta
String: El block de notas que aparece se deja en blanco y se escribe
Frecuencia del Seno
con el color de fondo,
color de letra,
tamao de letra
que se necesite.
Control 2
Inspector de propiedades
Pregunta: Qu se modifica?
Respuesta
String: Se escribe Ingrese la frecuencia
Control 3
Inspector de propiedades
Se arrastra de la paleta de controles de la parte izquierda
el control Axes; se ubica y
despus se despliega en el
rea de trabajo.
Control 4
Inspector de propiedades
Pregunta: Qu se modifica?
String: se escribe Salir
69
70
Control 5
Inspector de propiedades
Pregunta: Qu se modifica?
El String: Se deja en blanco
El Tag: Se escribe Frecuencia
ViewCallback Callback
Aparece el editor de funciones del archivo.m donde
se escriben las instrucciones al final de los comentarios
escritos en verde como se ilustra en la figura 35.
71
Solucin
Control 1
Inspector de propiedades
Qu se modifica?
String: Se escribe Frecuencia del Coseno
FontSize: Se cambia a 18
BackgroundColor: Se cambia a blanco
ForegroundColor: Se cambia a rojo
72
Control 2
rea de trabajo
Inspector de propiedades
Qu se modifica?
El Color: Se cambia por el color rojo
Control 3
Inspector de propiedades
Qu se modifica?
String: Se escribe Ingrese la frecuencia
FontSize: Se cambia a 18
BackgroundColor: Se cambia a blanco
ForegroundColor: Se cambia a rojo
Control 4
Inspector de propiedades
Qu se modifica?
String: Se escribe Salir
FontSize: Se cambia por 18
BackgroundColor: Se cambia a blanco
ForegroundColor: Se cambia a rojo
ViewCallback Callback
Qu se programa?
close(gcbf)
73
Control 5
Inspector de propiedades
Qu se modifica?
String: Se deja en blanco
FontSize: Se cambia por 18
BackgroundColor: Se cambia por blanco
ForegroundColor: Se cambia por rojo
Tag: Se escribe frecuencia
ViewCallback Callback
Qu se programa?
f = srt2double(get(handles.frecuencia,string));
x = linspace(0,2*pi,500);
y=cos(x); y1=cos(f*x);
plot(x,y,k,x,y1,b,linewidth,3), grid on
axis([0,2*pi,-1.5,1.5])
Control 5
Inspector de propiedades
Se Arrastra de la parte izquierda
y se ubica en el rea de
trabajo el control
Axes.
74
Tareas 2.5
Ejemplo 1. Rectngulo
Dibujar un rectngulo con vrtices (0,0), (2,0), (2,1) y (0,1) como el de la figura 38.
Solucin
x = [ 0 2 2 0 0 ];
y = [ 0 0 1 1 0];
plot( x, y )
fill(x, y, 'y' )
axis off
El comando fill permite colorear el interior de la figura y la instruccin axis off permite
oculta los ejes de coordenadas.
76
Solucin
x = [ 0 4 4 0 0 ];
y = [ 0 0 2 2 0];
axis([0,5,0,2])
axis square
axis off
hold on
plot( x, y, 'k' )
fill( x, 0.5*y, 'b' )
Ejemplo 3. Crculo
Dibujar un crculo como el de la figura 40.
Solucin
theta = 0:pi/100:2*pi;
r = 5;
x = r*cos(theta);
y = r*sin(theta);
axis([-8,8,-8,8])
axis off
axis square
hold on
plot( x, y, 'k' )
fill(x, y, 'r' )
78
Ejemplo 4. Avin
Dibujar un avin como el de la figura 41. Los vrtices vienen dados de la siguiente manera:
(-3.5,-1), (-3,-1), (-2.5,-0.5), (0,-1), (0,-3), (1,-3), (1.5,-1), (3.5,-0.5), (4,0), (3.5,0.5), (1.5,1),
(1,3), (0,3), (0,1), (-2.5,0.5), (-3,1) y (-3.5,1).
Solucin
x = [-3.5,-3,-2.5,0,0,1,1.5,3.5, 4,3.5,1.5,1,0,0,-2.5,-3,-3.5,-3.5];
y = [-1,-1,-0.5,-1,-3,-3,-1,-0.5,0,0.5,1,3,3,1,0.5,1,1,-1];
axis([-8,8,-8,8])
axis off
axis square
hold on
plot( x, y, 'k' )
fill(x, y, 'r' )
79
Ejemplo 5. El Robot
Dibujar un robot como el de la figura 42. Los vrtices vienen dados de la siguiente manera:
(-2,-1), (-1.5,-1), (-1.5,1.5), (-1,1.5), (-1,-4), (-1.5,-4), (-1.5,-5), (-0.5,-5), (-0.5,-1), (0.5,-1),
(0.5,-5), (1.5,-5), (1.5,-4), (1,-4), (1,1.5), (1.5,1.5), (1.5,-1), (2,-1), (2,3), (1,5), (-1,5), (-1,3)
y (-2,3).
Solucin
axis([-8,8,-8,8])
axis off
axis square
hold on
plot( x, y, 'k' )
fill(x, y, 'm' )
80
Para hacer real la animacin, se debe recurrir a la velocidad del procesador del computador
donde se va a correr el programa para as tomar un incremento de tiempo adecuado y evitar
as que el movimiento se vea muy lento o muy veloz.
Solucin
% Se ingresa la frecuencia w
function [ ] = animacionejemplo1( w )
t = 0;
while t < 2*pi
t = t + 0.05;
ys = sin( *t );
clf; % Borra la figura
% Crculo
81
% Suma de coordenadas
x = xo + t;
y = yo + ys;
plot( x, y )
fill( x, y, r)
pause(0.01)
end
end
Solucin
% Se ingresa el tiempo ta
function [ ] = animacionejemplo2( ta )
t = 0;
while t < ta
t = t + 0.02;
yl = log( t );
clf; % Borra la figura
% Avin
xo = [-3.5,-3,-2.5,0,0,1,1.5,3.5, 4,3.5,1.5,1,0,0,-2.5,-3,-3.5,-3.5];
yo = [-1,-1,-0.5,-1,-3,-3,-1,-0.5,0,0.5,1,3,3,1,0.5,1,1,-1];
% Modificacin de la escala
xo = 0.1 * xo;
yo = 0.1 * yo;
% Suma de coordenadas
x = xo + t;
y = yo + yl;
plot( x, y, k )
83
fill( x, y, b)
pause(0.01)
end
end
0,
1.5 3,
() = 3,
3 + 27,
{0,
2 2
2<<4
4<8
89
9 < 10
Solucin
% Se ingresa el tiempo ta
function [ ] = animacionejemplo3( ta )
t = 0;
while t < ta
t = t + 0.02;
yt = (0)*(t<=2)+(1.5*t-3).*((2<t)&(t<4))+(3)*((4<=t)&(t<8))+
(-3*t+27).*((8<=t)&(t<=9)+(0)*(9<t);
clf; % Borra la figura
% Robot
84
xo = [-2,-1.5,-1.5,-1,-1,-1.5,-1.5,-0.5,-0.5,0.5,0.5,1.5,1.5,1,1,1.5,1.5,2,2,1,1,-1, -1,-2,-2];
yo = [-1,-1,1.5,1.5,-4,-4,-5,-5,-1,-1,-5,-5,-4,-4,1.5,1.5,-1,-1,3,3,5,5,3,3,3];
% Modificacin de la escala
xo = 0.1 * xo;
yo = 0.1 * yo;
% Suma de coordenadas
x = xo + t;
y = yo + yt;
plot( x, y, k )
fill( x, y, y)
pause(0.01)
end
end
85