El documento resume las herramientas de Matlab para álgebra simbólica, cálculo diferencial e integral, ecuaciones diferenciales y transformadas de Laplace. La caja de herramientas simbólica permite operaciones algebraicas y de cálculo con expresiones simbólicas. Las funciones diff y int realizan derivación e integración simbólicas. La función dsolve resuelve ecuaciones diferenciales y laplace aplica la transformada de Laplace simbólica.
2. Symbolic Math Toolbox
Permite:
• Calculus – integration, differentiation, Taylor series
expansion, …
• Linear Algebra – inverses, determinants, eigenvalues, …
• Simplification – algebraic and trigonometric expressions
• Equation Solutions – algebraic and differential equations
• Transforms – Fourier, Laplace, Z transforms and inverse
transforms, …
3. Symbolic
Use sym to create a symbolic number, and double
to convert to a normal number.
>> sqrt(2)
ans = 1.4142
>> var = sqrt(sym(2))
var = 2^(1/2)
>> double(var)
ans = 1.4142
>> sym(2)/sym(5) + sym(1)/sym(3)
ans = 11/15
4. Symbolic variables
Use syms to define symbolic variables. (Or use sym to create
an abbreviated symbol name.)
>> syms m n b c x
>> th = sym('theta')
>> sin(th)
ans = sin(theta)
>> sin(th)^2 + cos(th)^2
ans = cos(theta)^2 + sin(theta)^2
>> y = m*x + b
y = b + m*x
5. Expresiones simbólicas
The subs function substitutes values or expressions for
variables in a symbolic expression.
>> clear
>> syms m x b
>> y = m*x + b → y = b + m*x
>> subs(y,x,3) → ans = b + 3*m
>> subs(y, [m b], [2 3]) → ans = 2*x + 3
>> subs(y, [b m x], [3 2 4])→ ans = 11
The symbolic expression itself is unchanged.
>> y → y = b + m*x
6. Diferenciación
Use diff to do symbolic differentiation.
>> clear
>> syms m x b th n y
>> y = m*x + b;
>> diff(y, x) → ans = m
>> diff(y, b) → ans = 1
>> p = sin(th)^n → p = sin(th)^n
>> diff(p, th) → ans = n*cos(th)*sin(th)^(n
- 1)
7. Integración
Indefinite integrals
>> int(y, x) → ans = (m*x^2)/2 +
b*x
>> int(y, b) → ans = (b + m*x)^2/2
>> int(1/(1+x^2)) → ans = atan(x)
Definite integrals
>> int(y,x,2,5) → ans = 3*b +
(21*m)/2
>> int(1/(1+x^2),x,0,1) → ans = pi/4
>> clear
>> syms m b x >> y = m*x + b;
8. Graficando expresiones simbólicas
The ezplot function will plot symbolic expressions.
>> clear; syms x y
>> ezplot( 1 / (5 + 4*cos(x)) );
>> hold on; axis equal
>> g = x^2 + y^2 - 3;
>> ezplot(g);
10. • >> y = dsolve('Dy + 2*y = 12*sin(4*t)',
'y(0)=10')
• y =
• -12/5*cos(4*t)+6/5*sin(4*t)+62/5*exp(-2*t)
• >> ezplot(y, [0 8])
• >> axis([0 8 -3 10])
2 12sin 4
dy
y t
dt
(0) 10y
Ejemplo. Resolver la ED usando
Matlab
11. • >> y = dsolve('D2y + 3*Dy + 2*y = 24',
'y(0)=10', 'Dy(0)=0')
• y =
• 12+2*exp(-2*t)-4*exp(-t)
• >> ezplot(y, [0 6])
2
2
3 2 24
d y dy
y
dt dt
(0) 10y '(0) 0y
Ejemplo. Resolver la ED usando
Matlab
12. La trasformada de Laplace
simbólica con Matlab
Establezca s y t como variables
simbólicas.
>> syms t s
• La trasformada de laplace de una
función f(t) se obtiene como:
>> F = laplace(f)
• Algunas simplificaciones utiles son:
>> pretty(F)
>> simplify(F)
13. •Establish t and s as symbolic variables.
>> syms t s
•The Laplace function F is then formed and
the inverse Laplace transform command is:
>> f = ilaplace(F)
La trasformada inversa de Laplace
simbólica con Matlab
14. 2 2
( ) 3 sin5 4 cos5t t
v t e t e t
>> syms t s
>> v = 3*exp(-2*t)*sin(5*t)
+ 4*exp(-2*t)*cos(5*t)
v =
3*exp(-2*t)*sin(5*t)+4*exp(-2*t)*cos(5*t)
Ejemplo. Determine la trasformada
de Laplace de v(t) usando Matlab
15. Ejemplo. Continuación…
>> V = laplace(v)
V =15/((s+2)^2+25)+4*(s+2)/((s+2)^2+25)
>> V=simplify(V)
V = (23+4*s)/(s^2+4*s+29)
16. >> syms t s
>> F=100*(s+3)/((s+1)*(s+2)*(s^2+2*s+5))
F =
(100*s+300)/(s+1)/(s+2)/(s^2+2*s+5)
2
100( 3)
( )
( 1)( 2)( 2 5)
s
F s
s s s s
Ejemplo. Determine la trasformada Inversa
de Laplace de F(s) usando Matlab
18. 2
10 48
( )
2 ( 2)( 16)
Y s
s s s
>> syms t s
>> Y = 10/(s+2) + 48/((s+2)*(s^2+16))
Y =10/(s+2)+48/(s+2)/(s^2+16)
Ejemplo. Determine la trasformada
Inversa de Laplace de F(s) usando
Matlab
19. >> y = ilaplace(Y)
y = 62/5*exp(-2*t)-
12/5*cos(16^(1/2)*t)+3/10*16^(1/2)*sin(16^(1/
2)*t)
>> y=simplify(y)
y = 62/5*exp(-2*t)-12/5*cos(4*t)+6/5*sin(4*t)
Ejemplo. Continuación…
20. Diversos comandos de Matlab para aplicarlos
en diferentes campos de la transformada de
Laplace
El comando roots determina las raíces de polinomios de
grado n
22. El comando poly obtiene el polinomio de las raíces dadas
El comando conv lleva a cabo el producto de 2 funciones
representadas en el dominio s
23. El comando printsys representa como función racional en s a la relación
de polinomios numerador/denominador
El comando pzmap efectúa la representación gráfica de polos y ceros
en el plano s de una función racional previamente definida.
35. Generating a Step Response in MATLAB
>>M = 1; % units of kg
>>K = 10; % units of N/m
>>B = 2; % units of N-s/m
>>num = 1;
>>den = [M B K];
>>sys = tf(num,den)
>>step(sys);
Specifying the time scale
>>t=0:0.1:10;
>>step(sys,t);