Está en la página 1de 58

SEMINARIO INTRODUCCIÓN A

MATLAB-SIMULINK.

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 1
SEMINARIO INTRODUCCIÓN A

MATLAB-SIMULINK.

• DENNYS DICK CORTEZ ALVAREZ.


• dcortez@espol.edu.ec –
dcortez@fiec.espol.edu.ec

• ESCUELA SUPERIOR POLITECNICA DEL


LITORAL
• Guayaquil – Ecuador
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 2
SEMINARIO INTRODUCCIÓN A

MATLAB-SIMULINK.
• Programa
 Características generales de MatLab.
 Comandos básicos.
 Control de flujo de instrucciones.
 Funciones.
 Arreglos (Vectores, Matrices, Hipermatrices).
 Estructuras.
 Gráficos 2D, 3D.
 Programación en MatLab.

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 3
Gráficos 2D, 3D.

• Ejercicio 5.
• Ej: Guardarlo como (nombre_g.m)

• Realizar todas las instrucciones que


veremos sobre gráficos.

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 4
Gráficos 2D, 3D.

• Trazado de gráficos:
• y=[0:.1:1]
• plot(y) gráfico de y vs. No. de orden del vector

• x=[0:.1:1]
• plot(x,y) gráfico de y vs. X

• x1=0:10
• y1=x1.^2
• y2=x1+1
• plot(x1,y1,x1,y2) gráfico de y1 vs. X1 y de
y2 vs. X1
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 5
Gráficos 2D, 3D.

Color Marcador Estilo de línea


b azul . punto - sólida
g verde o circulo : puntos
r rojo x cruz -. raya-punto
c cyan + mas -- rayado
m magenta * estrella
y amarillo s cuadrado
k negro d diamante
w blanco
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 6
Gráficos 2D, 3D.

• El color, la línea de los gráficos y el marcador pueden


ser seleccionados en el comando plot, p.e.:

• plot(x,y,’r--o’) entre apóstrofos se pone el


color, el tipo de línea y el marcador

• figure asigna una figura automáticamente.

• figure(n) %asigna una figura con número n


Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 7
Gráficos 2D, 3D.

• Control de los ejes:

• axis([xmin xmax ymin ymax]) define los ejes para el gráfico


• axis([xmin xmax -inf inf]) fija la escala de x

• axis([xmin inf -inf ymax]) fija el valor menor del eje x y el


mayor del eje y
• axis(‘equal’) sitúa la escala de ambos ejes iguales

• Los ejes que Ud. no fija con axis, se fijan automáticamente


Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 8
Gráficos 2D, 3D.

• Marcas, títulos y otros textos:

• grid (rejilla)
• xlabel(‘tiempo’) sitúa el nombre al eje x
• ylabel(‘posición angular’) sitúa el nombre al
eje y
• title(‘servomecanismo de posición’)
• sitúa nombre al gráfico en la parte
superior
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 9
Gráficos 2D, 3D.

• x= linspace(-1,3);

• p = [1 4 – 7 –10];

• v = polyval(p,x);
• figure(5)
• plot(x,v),title(‘x^3+4x^2-7x-10’)
• xlabel(‘x’),ylabel(‘v’)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 10
Gráficos 2D, 3D.

• Se desea el trazado de dos gráficas en la misma figura

• x = linspace(0,2*pi,30);
• y = sin(x);
• z = cos(x);
• figure(10)
• plot(x,y,’b’,x,z,’r.-’)
• legend('Seno(x)','Coseno(x)')
• xlabel(‘x’),ylabel(‘y’)
• grid
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 11
Gráficos 2D, 3D.

• text(2,6,’tiempo de establecimiento’)
• sitúa el texto en la posición indicada

• gtext(‘período de la señal’)
• sitúa el texto en la posición seleccionada con el ratón

• ginput
• da un cursor que ofrece el valor que selecciona con el
ratón. Puede marcar infinitos puntos, termina dando
retorno

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 12
Gráficos 2D, 3D.

• Subdivisión de la pantalla gráfica:


• subplot(rcp) r: fila (row)
• c: columna
• p: posición
• Se emplea antes que el plot y mediante el mismo se divide la
pantalla en dos o cuatro partes.
• subplot(211) divide en dos partes horizontalmente y
realiza el gráfico en la superior
• subplot(212) realiza el gráfico en la inferior

• subplot(121) divide en dos partes verticalmente y


realiza el gráfico en la izquierda
• subplot(122) realiza el gráfico en la derecha
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 13
Gráficos 2D, 3D.

• Trazado de gráficos múltiples con el


comando subplot
• x = linspace(0,2*pi,30);
• y = sin(x);
• z = cos(x);
• a = 2*sin(x).*cos(x);
• b = sin(x)./(cos(x)+eps);
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 14
Gráficos 2D, 3D.

• figure(12)
• subplot(221)
• plot(x,y),axis([0 2*pi –1 1]), title(‘sin(x)’)
• subplot(222)
• plot(x,z),axis([0 2*pi –1 1]), title(‘cos(x)’)
• subplot(223)
• plot(x,a),axis([0 2*pi –1 1]), title(‘2sin(x)cos(x)’)
• subplot(224)
• plot(x,b),axis([0 2*pi –20 20]), title(‘ sin(x)/cos(x)’)

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 15
Gráficos 2D, 3D.

• Trazado de un gráfico polar

• polar(theta,rho)
• diagrama polar,
• radio rho vs. ángulo theta en radianes

• figure(13)
• t=linspace(0,2*pi);
• r = sin(2*t).*cos(2*t);
• polar(t,r)
• title(‘ Gráfico polar de sin(2t)cos(2t)’)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 16
Gráficos 2D, 3D.

• Comandos para el control de la ventana gráfica

• shg trae el gráfico hacia adelante


• clf borra el gráfico de la ventana gráfica
• clc borra comandos de la línea de comandos
• home mueve el cursor a la parte superior izquierda
• hold mantiene el gráfico anterior en la ventana
• hold off elimina la condición anterior

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 17
Gráficos 2D, 3D.

• Exportar textos o gráficos desde


MATLAB

• Para exportar un gráfico, vaya al menú


EDIT estando la ventana gráfica activa
y utilice el comando Copy Figure, llévelo
a donde quiera y descárguelo con Paste.

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 18
Gráficos 2D, 3D.

• Gráficos tridimensionales

• El comando plot utilizado en el trazado de


gráficos bidimensionales se puede extender al
caso tridimensional con el comando plot3.
• En este caso, los datos se suministran por tríos
y no por pares, o sea:

• plot3(x1,y1,z1)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 19
Gráficos 2D, 3D.

• figure(14)

• t= linspace(0,10*pi);
• plot3(sin(t),cos(t),t)
• títle(‘Hélice’), xlabel(‘sin(x)’), ylabel(‘cos(x)’),
zlabel(‘t’)

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 20
Gráficos 2D, 3D.

• Ejemplo:
• Se desea generar un juego de puntos
equidistantes en el plano x-y, entre los
puntos -7.5 y 7.5 en ambos ejes

• x=-7.5:0.5:7.5;
• y=x;
• [X,Y] = meshgrid(x,y);
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 21
Gráficos 2D, 3D.

• Sea el caso de buscar la distancia al origen


• R=sqrt(X.^2+Y.^2) + eps
• Z = sin(R)./R ;
• La matriz R contiene el radio de cada punto en [X,Y].
• El agregar eps elimina la división por cero. La matriz
Z contiene el seno del radio dividido por el radio
para cada punto del plano. Con el comando mesh se
genera la gráfica.
• figure(15)
• mesh(X,Y,Z)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 22
Gráficos 2D, 3D.

• El trazado de la superficie de la misma matriz Z,


• luce como el gráfico de mallas, excepto que los
• espacios entre las líneas se rellenan de colores.
• Un gráfico de este tipo se obtiene con la función
• surf.

• figure(16)
• surf(X,Y,Z)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 23
Gráficos 2D, 3D.

• Dibujar un polígono

• x=[1,2,1,0];
• y=[0,1,2,1];
• figure(17)
• fill(x,y,'r')
• title('rombo')
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 24
Gráficos 2D, 3D.

• %Gráficas de funciones implicitas.

• y='[10*sin(x),5*cos(x)]'
• figure(18)
• fplot(y,[0 4*pi -12 12])
• grid

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 25
Gráficos 2D, 3D.

• Matemática simbólica
• Permite manipular expresiones que se
• calculan utilizando símbolos 2
2 d (2 x )
cos( x ) v
dx
2
x
3x  5 x  1
2
f  dx
1 x 2

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 26
Gráficos 2D, 3D.

• Variables simbólicas
• MATLAB utiliza objetos simbólicos para
representar las variables simbólicas.
• Las variables simbólicas se crean mediante el
• comando sym:
• x = sym(‘x’)
• o
• syms x y z
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 27
Gráficos 2D, 3D.

• Cuando se trabaja con expresiones


simbólicas que contienen más de una variable,
sólo una variable es la variable
independiente. Si no se le dice a MATLAB
cual es la variable independiente, este
selecciona la más cercana a x.

• En la expresión 3 y + z, la variable
independiente es y
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 28
Gráficos 2D, 3D.

• Creación de una matriz simbólica


• syms(‘a’,’b’,’c’,’d’)
• M=[a,b;c,d]
• M=
• [a, b]
• [c, d]
• det(M)
• ans=
• a*d - b*c
• size(M)
• ans =
• 2 2

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 29
Gráficos 2D, 3D.

• Aplicaciones

• Diferenciación:
• Para ello se utiliza el comando diff

• syms a b c d x s
• f= a*x^3 + x^2 –b*x – c;
• diff(f)
• ans= 3*a*x^2 + 2*x –b
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 30
Gráficos 2D, 3D.

• diff(f,a)
• ans = x^3

• diff(f,2) % deriva f dos veces con respecto a


x
• ans = 6*a*x + 2

• diff(f,a,2) % deriva dos veces f con respecto a a


• ans = 0
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 31
Gráficos 2D, 3D.

• La función diff opera sobre arreglos


• g= [a*x b*x^2; c*x^3 d*s];

• diff(g)
• ans= [a 2*b*x]
• [3*c*x^2 0]

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 32
Gráficos 2D, 3D.

• La función diff es utilizada en el MATLAB básico para calcular las


diferencias de vectores numéricos o matrices. Sea

• M=[(1:8).^2]
• M=
• 1 4 9 16 25 36 49 64

• diff(M)
• ans =
• 3 5 7 9 11 13 15

• Si la expresión es numérica, MATLAB busca la


• diferencia y si es una expresión simbólica o una variable,
• la deriva.
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 33
Gráficos 2D, 3D.

• Integración
• Para ello se utiliza el comando int

• syms x s m n
• f = sin(s + 2*x)

• int(f)
• ans = -0.5*cos(s + 2*x)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 34
Gráficos 2D, 3D.

• int(f,s)
• ans =
• - cos(s + 2*x)

• int(f,pi/2,pi)
• ans =
– cos(s)

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 35
Gráficos 2D, 3D.

• Gráficos de expresiones simbólicas

• Para ello se utiliza el comando ezplot


• Suponga que se desea hacer el gráfico
• de la función simbólica:
y  4.8768* t  20* t  30
2

• ezplot(y,[0 6])
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 36
Gráficos 2D, 3D.

• Solución de ecuaciones algebraicas


Para ello se utiliza el comando solve,
esta función iguala la ecuación a cero.
Sea
syms a b c d
solve(a*x^2+b*x+c)
x=
[1/2/a*(-b+(b^2-4*a*c)^(1/2)]
[1/2/a*(-b-(b^2-4*a*c)^(1/2)]
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 37
Gráficos 2D, 3D.

• Si se requiere otra variable que no sea por


• omisión, se hace lo siguiente:

• solve(a*x^2+b*x+c,b) % calcule b
• b=
• -(a*x^2+ c)/x

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 38
Gráficos 2D, 3D.

• Las ecuaciones se pueden resolver pasando


todos los términos para el miembro de la
izquierda e igualando a cero.
• Sea: cos(x) = sin(x)

• f=solve(cos(x)-sin(x)) % calcule x
• f=
• ¼*pi
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 39
Gráficos 2D, 3D.

• Para la ecuación
• tan(x) = sin(2*x), la solución se obtiene con:

• t = solve(tan(x) – sin(2*x))

• t=
• [ 0]
• [ pi]
• [ 1/4*pi ]
• [ ¾*pi ]
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 40
Gráficos 2D, 3D.

Sus valores numéricos se obtienen mediante el comando double.


• double(f)
• ans=
• 0.785
• double(t)
• ans=
• 0
• 3.1416
• 0.7854
• -2.3562

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 41
Gráficos 2D, 3D.

• Solución de varias ecuaciones algebraicas


• Sea
• syms x y
• [a1 a2] = solve(x^2+x*y+y-3, x^2-4*x+3)
• a1=
• [1 ]
• [3]
• a2 =
• [ 1]
• [-3/2]
• La solución se devuelve en orden alfabético, por lo que a1 es la
solución de x y a2 la solución de y

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 42
Gráficos 2D, 3D.

• Solución de ecuaciones diferenciales


• La función dsolve calcula las soluciones simbólicas de las ecuaciones
diferenciales. Los argumentos de dsolve deben ser cadenas de
caracteres representando las ecuaciones. D representa primera
derivada y D2 representa segunda derivada
• Sea el caso de la ecuación diferencial

• dy/dt= 1 +y^2
• Su solución se obtiene así:
• dsolve(‘Dy = 1 +y^2’)
• ans =
• tan(t-C1)
• donde C1 es una constante de integración
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 43
Gráficos 2D, 3D.

• La ecuación anterior se puede resolver incluyendo


las condiciones iniciales,

• sea y(0) = 1.

• dsolve(‘Dy = 1 + y^2, y(0) = 1’)

• ans =
• tan(t+1/4*pi)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 44
Gráficos 2D, 3D.

• Sea el caso de una ecuación diferencial de


• segundo orden, con dos condiciones iniciales.
• d2y/dt2 = cos(2t) –y, dy/dt(0) = 0, y(0) = 1

• y= dsolve(‘D2y = cos(2*t)-y, Dy(0)= 0, y(0) = 1’)

• y=

4/3*cos(t)-1/3*cos(2*t)
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 45
Gráficos 2D, 3D.

• Se puede realizar una gráfica de la solución


así:

• figure(21)
• ezplot(y, [-6 2])
• grid

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 46
Gráficos 2D, 3D.

Caso de que sean varias ecuaciones diferenciales


• Sean

• df/dt = 3f + 4g dg/dt = -4f + 3g


• La solución general es:

• [f,g] = dsolve(‘Df = 3*f+4*g, Dg = -4*f + 3*g’)


• f=
• exp(3*t)*cos(4*t)*C1+exp(3*t)*sin(4*t)*C2
• g=
• -exp(3*t)*sin(4*t)*C1 +exp(3*t)*cos(4*t)*C2

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 47
Gráficos 2D, 3D.

• Solución simbólica de una ecuación


diferencial de
• segundo orden

• Sea
• x2d2y/dx2 + 7xdy/dx + 5y = 10 –(4/x)

• y(1) = 1, dy/dx(1) = 0.
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 48
Gráficos 2D, 3D.

• y= dsolve(‘x^2*D2y + 7*x*Dy + 5*y = 10-4/x,


• y(1)=1, Dy(1)=0’,’x’)
• y=
• ¼*(8*x^5-4*x^4*log(x)-4*x^4)/x^5
• y = simple(y)
• ans =
• 2 + (-log(x) –1)/x

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 49
Gráficos 2D, 3D.

• Representación y simplificación de expresiones simbólicas.

• Hay veces que MATLAB devuelve como resultado


• expresiones simbólicas que no son fáciles de entender.
• Hay algunas funciones que hacen mas entendibles dichas
• expresiones.

• Sea la función pretty.


• Esta función representa las expresiones simbólicas de
• manera semejante a una representación matemática, tal
• como aparecen en los textos.

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 50
Gráficos 2D, 3D.

• Considere una expansión en series de Taylor


• x=sym(‘x’)
• f=taylor(log(x+1)/(x-5))
• f=
• -1/5*x + 3/50*x^2 – 41/750*x^3 +
293/7500*x^4
• pretty(f)
1 3 2 41 3 293 4
 x x  x  x
5 50 750 7500
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 51
Gráficos 2D, 3D.

• simplify Es una poderosa herramienta de propósito general


• que trata de simplificar una expresión utilizando diferentes
• procedimientos.
• syms x y a
• simplify(log(2*x/y))
• ans =
• log(2) + log(x/y)
• simplify(sin(x)^2 + 3*x + cos(x)^2 –5)
• ans =
• -4 + 3*x
• Simplify((-a^2 + 1)/(1-a))
• ans =
• a+1

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 52
Gráficos 2D, 3D.

• Otras funciones simbólicas

• symadd suma dos expresiones simbólicas


• symdiv divide dos expresiones simbólicas
• symmul multiplica dos expresiones simbólicas
• sympow eleva una expresión simbólica a una potencia
• symsub resta dos expresiones simbólicas
• symvar devuelve la variable independiente
• sym2poly convierte una expresión simbólica en vector
• poly2sym convierte un polinomio en una expresión simbólica
• numden devuelve las expresiones de num y den simbólicas
• numeric convierte una expresión simbólica en un número
Ing. Dennys Cortez Alvarez.
19/09/21 ESPOL-FIEC. 53
Gráficos 2D, 3D.

• Transformadas

• Transformada de Laplace
• syms a s t w
• f = exp(-a*t)*cos(w*t)
• L = laplace(f,t,s)
sa
ans 
(( s  a )  w )
2 2

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 54
Gráficos 2D, 3D.

• Transformada inversa de Laplace

• ilaplace(L,s,t)
• ans =
• exp(-a*t)*cos(w*t)

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 55
Gráficos 2D, 3D.

• Transformada de Fourier

• syms t w
• f = t*exp(-t^2)
• F = fourier(f,t,w)
• F=
• -0.5*i*pi^0.5*w*exp(-0.25*w^2)

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 56
Gráficos 2D, 3D.

• Transformada inversa de Fourier

• ifourier(F,w,t)
• ans:
1 1
* 4 ^ ( ) * t *exp( t ^ 2)
2 2

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 57
SEMINARIO INTRODUCCIÓN A

MATLAB-SIMULINK.
• Programa
 Características generales de MatLab.
 Comandos básicos.
 Control de flujo de instrucciones.
 Funciones.
 Arreglos (Vectores, Matrices, Hipermatrices).
 Estructuras.
 Gráficos 2D, 3D.
 Programación en MatLab.

Ing. Dennys Cortez Alvarez.


19/09/21 ESPOL-FIEC. 58

También podría gustarte