0% encontró este documento útil (0 votos)
48 vistas7 páginas

Math Symbolic

Este documento introduce el uso de la herramienta Symbolic Math Toolbox en MATLAB para realizar cálculos simbólicos. Explica cómo declarar variables simbólicas, crear expresiones simbólicas y utilizar funciones como simplify, expand y factor para manipular expresiones simbólicas. También presenta funciones como subs y latex para evaluar expresiones y mejorar la presentación de resultados respectivamente.

Cargado por

bErnArd fELiz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
48 vistas7 páginas

Math Symbolic

Este documento introduce el uso de la herramienta Symbolic Math Toolbox en MATLAB para realizar cálculos simbólicos. Explica cómo declarar variables simbólicas, crear expresiones simbólicas y utilizar funciones como simplify, expand y factor para manipular expresiones simbólicas. También presenta funciones como subs y latex para evaluar expresiones y mejorar la presentación de resultados respectivamente.

Cargado por

bErnArd fELiz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

Math Symbolic

En las páginas previas, hemos hecho cálculos numéricos, con una precisión limitada. En estas
páginas vamos a explicar como se utiliza la herramienta Symbolic Math Toolbox, que
emplearemos para realizar cálculos símbólicos, es decir, transformaciones de expresiones
matemáticas.

Las posibilidades son enormes: integración definida e indefinida, diferenciación, resolución de


ecuaciones diferenciales, series, límites, cálculo matricial, operaciones con polinomios,
simplificación de expresiones algebraicas. Finalmente, las expresiones algebraicas se pueden
convertir en valores numéricos con precisión variable.

Declaración de variables simbólicas


La herramienta Symbolic Math Toolbox define un nuevo tipo de dato denominado objeto
simbólico, que representan a variables, expresiones y matrices.

El comando sym se usa para crear objetos simbólicos en MATLAB. El argumento


de sym es una cadena de caracteres (string) entre comillas simples. Por ejemplo,

>> sym('x')
>> sym('2')
>> sym('1/3')
Hemos creado tres objetos simbólicos, x es una variable, 2 es un número y 1/3 es una
fracción. Vamos a apreciar la diferencia entre operar con números a operar con objetos
simbólicos.

>> sqrt(2)
ans = 1.4142
>> sqrt(sym('2'))
ans =2^(1/2)
>> 2/3+1/2
ans = 1.1667
>> sym('2/3')+sym('1/2')
ans =7/6
>> sin(pi)
ans = 1.2246e-016
>> sin(sym('pi'))
ans =0
En la última línea, vemos claramente la diferencia entre los valores que devuelve el
seno de π.

Supongamos que queremos evaluar una función f(x) para un determinado valor de x

y=x2−2xx=1−√ 2 y=(1−√ 2 )2−2(1−√ 2 )y=x2−2xx=1−2y=(1−2)2−2(1−2)

>> x=sym('1-sqrt(2)');
>> y=x^2-2*x
y =(2^(1/2) - 1)^2 + 2*2^(1/2) - 2
>> simplify(y)
ans =1
sym nos permite crear y dar un valor inicial a una variable simbólica x.

Se ha creado una variable simbólica x y otra variable simbólica y, tal como puede verse
en la ventana Workspace. El comando simplify que estudiaremos más adelante
simplifica la expresión resultante.

El comando syms permite declarar más de una variable simbólica y no precisa de


comillas simples, por lo que se utilizará con mayor frecuencia.

>> syms x y;
>> s=x+2*y-x
s =2*x
>> r=sqrt(x^2+y^2);
Se han creado dos variables simbólicas nuevas s y r tal como podemos apreciar en la
ventana Workspace. Los comandos s=x+2*y+x, r=sqrt(x^2+y^2), son ejemplos de
expresiones simbólicas.

Funciones que trabajan con expresiones


simbólicas.
Vamos ahora a estudiar las funciones que trabajan con expresiones simbólicas

expand
Realiza operaciones con expresiones simbólicas tal como vemos en el siguiente ejemplo
y=(x−1)3+3x2+1y=(x−1)3+3x2+1

>> syms x;
>> y=(x-1)^3+3*x^2+1;
>> expand(y)
ans =x^3 + 3*x
>> y=exp(x+x^2);
>> expand(y)
ans =exp(x^2)*exp(x)
Se ha declarado una variable simbólica x con syms y se crea una variable simbólica y y
otra variable simbólica, por defecto, ans donde se guarda el resultado de expand.

collect
Ordena los términos en potencias de x

>> syms x;
>> y=x*(cos(x)+x)*(exp(x)+x^2);
>> collect(y)
ans =x^4 + cos(x)*x^3 + exp(x)*x^2 + (exp(x)*cos(x))*x

simplify
La función simplify se utiliza con frecuencia en los cálculos con expresiones algebraicas.

(x2−x+1x−1x2):(x−1+1x)(x2−x+1x−1x2):(x−1+1x)

>> syms x;
>> y=(x^2-x+1/x-1/x^2)/(x-1+1/x);
>> simplify(y)
ans =x - 1/x
En la página, Sistema de ecuaciones diferenciales lineales, realizaremos largas
operaciones con expresiones algebraicas, por ejemplo

x=−80+25i16⋅1−8i5e(2−8i)t−80+25i16⋅1+8i5e(2+8i)t=x=18e2t(24cos(8t)+1338sin(8t))x=−80+25
i16·1−8i5e(2−8i)t−80+25i16·1+8i5e(2+8i)t=x=18e2t(24cos(8t)+133
8sin(8t))

>> syms t;
>> x=(-80+25*i)*(1-8*i)*exp((2-8*i)*t)/80-
(80+25*i)*(1+8*i)*exp((2+8*i)*t)/80;
>> simplify(x)
ans =(exp(2*t)*(24*cos(8*t) + 133*sin(8*t)))/8
Como ejercicio se sugiere, simplificar las siguientes expresiones

(xy3−1y2)(x−yy+2xx−y−x2xy−y2)(3x+y)(x2y2−1)(x+yx−y−x−yx+y)(xy3−1y2)(x−yy+2xx−y−x
2xy−y2)(3x+y)(x2y2−1)(x+yx−y−x−yx+y)
factor
Como su nombre indica, factoriza una expresión

Primero vamos a probar con números y a continuación, con expresiones simbólicas

360=25⋅32⋅5360=25·32·5

>> factor(360)
ans =
2 2 2 3 3 5
>> factor(sym('360'))
ans =2^3*3^2*5

y=x8−2x6−9x4+2x2+8y=x8−2x6−9x4+2x2+8

>> syms x;
>> factor(x^8-2*x^6-9*x^4+2*x^2+8)
ans =(x - 1)*(x - 2)*(x + 2)*(x + 1)*(x^2 + 2)*(x^2 + 1)

subs
Evalúa numéricamente una expresión simbólica, para un determinado valor de la
variable simbólica x.

>> syms x;
>> y=x^8-2*x^6-9*x^4+2*x^2+8;
>> subs(y,x,2)
ans = 0
>> subs(y,x,-0.5)
ans = 7.9102
Valores que se asignan a los parámetros a, b y c para resolver una determinada
ecuación de segundo grado. Una tabla de valores de la función y=x2-x-6.

>> syms a b c x;
>> y=a*x^2+b*x+c;
>> yy=subs(y,{a,b,c},{1 -1 -6})
yy =x^2 - x - 6
>> subs(yy,[-2:0.5:2])
ans =
0 -2.2500 -4.0000 -5.2500 -6.0000 -6.2500 -6.0000
-5.2500 -4.0000
Una variable simbólica puede ser sustituida por otra variable simbólica. Por ejemplo, la
variable x se sustituye por u+v y la variable y se sustituye por u-v.

>> syms x y;
>> z=x^2-y^2;
>> syms u v;
>> z=subs(z,{x,y},{u+v,u-v})
z =(u + v)^2 - (u - v)^2
>> simplify(z)
ans =4*u*v
Presentación de resultados
En el capítulo Series de Fourier vamos a obtener el desarrollo en serie de Fourier de
funciones periódicas. El resultado del cálculo no es fácilmente legible

syms t k P n;
assume(k,'Integer');
a = @(f,t,k,P) int(f*cos(k*pi*t/P),t,-P,P)/P;
b = @(f,t,k,P) int(f*sin(k*pi*t/P),t,-P,P)/P;
fs=@(f,t,n,P) a(f,t,0,P)/2+symsum(a(f,t,k,P)*cos(k*pi*t/P)
+b(f,t,k,P)*sin(k*pi*t/P),k,1,n);
f=t;
P=1;
N=6; %términos del desarrollo en serie
z=fs(f,t,N,P)
z =(2*sin(pi*t))/pi - sin(2*pi*t)/pi + (2*sin(3*pi*t))/(3*pi)
- sin(4*pi*t)/(2*pi) + (2*sin(5*pi*t))/(5*pi) - sin(6*pi*t)/(3*pi)
Se mejora la lectura utilizando la función pretty

>> pretty(z)
2 sin(pi t) sin(2 pi t) sin(3 pi t) 2 sin(4 pi t) sin(5 pi t) 2 sin(6
pi t)
---------- - ---------- + ------------ - ----------- + ---------- - --------
----
pi pi 3 pi 2 pi 5 pi 3 pi
Se mejora aún más, si utilizamos la función latex en combinación con el programa
MathType.

>> latex(z)
ans =
\frac{2\, \sin\!\left(\pi\, t\right)}{\pi} - \frac{\sin\!\left(2\, \pi\,
t\right)}
{\pi} + \frac{2\, \sin\!\left(3\, \pi\, t\right)}{3\, \pi} -
\frac{\sin\!\left(4\, \pi\, t\right)}{2\, \pi} + \frac{2\, \sin\!\
left(5\, \pi\, t\right)}{5\, \pi} - \frac{\sin\!\left(6\, \pi\,
t\right)}{3\, \pi}
Copiamos el código (cuatro últimas líneas), lo pegamos en MathType que lo convierte
en una expresión algebraica completamente legible, la insertamos en el documento
Word, seleccionado en el menú File/Update Documento1. El resultado es el que aparece
en la figura

También podría gustarte