Sei sulla pagina 1di 16

Herramientas computacionales para la

matemtica
MATLAB: lgebra Simblica

Vernica Borja Macas


Junio 2012

Matlab
Introduccin
MATLAB tiene algunos tipos diferentes de datos, incluidos datos
numricos de precisin doble y sencilla, datos carcter, datos
lgicos y datos simblicos, los cuales se almacenan en una
variedad de distintos arreglos.
La capacidad simblica de MATLAB se basa en el software
Maple, producido por Waterloo Maple. El motor Maple es parte
de la caja de herramientas simblica.
La caja de herramientas simblicas de MATLAB le permite
manipular expresiones simblicas para simplificarlas, resolverlas
simblicamente y evaluarlas numricamente.
Tambin le permite obtener derivadas, integrar y realizar
manipulaciones algebraicas lineales, transformadas de LaPlace y
transformadas de Fourier entre otras cosas.
2

Matlab
lgebra simblica

La matemtica simblica se usa regularmente en las clases de


matemticas, ingeniera y ciencias. Con frecuencia es
preferible manipular las ecuaciones simblicamente antes de
sustituir valores para las variables. Por ejemplo, considere la
ecuacin
2( x 2 + 3) 2
y= 2
x + 6x + 9
Cuando la observa por primera vez, parece complicada. Sin
embargo, si expande se hace evidente que puede simplificar

2( x 2 + 3) 2 2( x 2 + 6 x + 9)
=
y =
= 2
2
2
x + 6x + 9
x + 6x + 9
3

Matlab
lgebra simblica

Al realizar esta simplificacin es posible perder algo de


informacin.

para x = 3 tenemos que:

2((3) 2 + 3) 2
0
=
lo cual est indefinido
2
(3) + 6(3) + 9 0

Las capacidades simblicas de MATLAB le permiten realizar


esta simplificacin o manipular el numerador y denominador
por separado.

Matlab
Creacin de variables simblicas

Las variables simblicas simples se pueden crear en dos


formas. Por ejemplo, para crear la variable simblica x,
escriba o
x=sym('x') o syms x
Ambas tcnicas hacen al carcter 'x' igual a la variable
simblica x.
Se pueden crear variables ms complicadas usando las
variables simblicas existentes, como en la expresin
y = 2*(x+3)^2/(x^2+6*x+9)

Matlab
Variables simblicas

Podemos declarar varias variables en un solo comando:


syms a b
Es posible manipular los objetos simblicos como es habitual
en matemticas:
>> a+ a + b
ans =
2*a + b
Tambin es posible crear variables simblicas con valores de
ms de un carcter:
a = sym('alpha')
Nota: En el Symbolic Math Toolbox, pi es una palabra
reservada.
6

Matlab
Expresiones simblicas

Supongamos que deseamos usar una variable


1+ 5
=
simblica para representar la razn dorada:
2
>> rho = sym('(1 + sqrt(5))/2');
Ahora podemos realizar las operaciones que deseemos con
rho.
>> f = rho^2 - rho 1
f=
(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2
Veamos como estudiar la funcin cuadrtica f = ax2 + bx + c.
Una primera opcin sera definirla como:
>> f = sym('a*x^2 + b*x + c');
Pero as no es posible realizar sustituciones, lo adecuado es:
>> syms a b c x
>> f = a*x^2 + b*x + c;
7

Matlab
Matrices de variables simblicas

La creacin y manipulacin de matrices de variables


simblicas es anloga a la de matrices numricas, p/e:
Ejemplo:
>> syms a b c;
>> A = [a b c; c a b; b c a]
A=
[ a, b, c]
[ c, a, b]
[ b, c, a]
sum(A(1,:))
ans =
a+b+c
8

Matlab
Encontrar variables simblicas en expresiones y matrices

Para determinar las variables simblicas que estan en una


expresin se emplea el comando symvar:
Ejemplo:
>> syms a b n t x z;
>> f = x^n;
>> g = sin(a*t + b);
>> symvar(f)
ans =
[ n, x]
>> symvar(g)
ans =
[ a, b, t]
9

Matlab
Nmeros simblicos

Es posible convertir un nmero en un objeto simblico, p/e:


Ejemplo:
>> a1 = sym('2')
>> a2 = sym(2)
>> sqrt(a1)
ans =
1.4142
a = sqrt(a2)
a=
2^(1/2)
double(a)
ans =
1.4142
10

Matlab
Nmeros simblicos
Ejemplo:
>> sym(2)/sym(5)
ans =
2/5
>> sym(2/5)
ans =
2/5
>> 2/5 + 1/3
ans =
0.7333
>> sym(2/5) + sym(1/3)
ans =
11/15
11

Matlab
Impresin de expresiones simblicas
Las funcin pretty. Imprime en un formato agradable las expresiones:
Ejemplo:
>> syms x
>> f = x^3 - 6*x^2 + 11*x - 6;
>> g = (x - 1)*(x - 2)*(x - 3);
>> h = -6 + (11 + (-6 + x)*x)*x;
>> pretty(f)
3
2
x - 6 x + 11 x - 6
>> pretty(g);
(x - 1) (x - 2) (x - 3)
>> pretty(h);
x (x (x - 6) + 11) 6
12

Matlab
Simplificar de expresiones simblicas

El Symbolic Math Toolbox pose un conjunto de funciones


para simplificar expresiones simblicas. Veamos la funcin
simplify. Por ejemplo previamente ya habamos realizado
operaciones con la expresin rho:
Ejemplo:
>> rho = sym('(1 + sqrt(5))/2');
>> f = rho^2 - rho 1
f=
(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2
>> simplify(f)
ans =
0
13

Matlab
Simplificar de expresiones simblicas

Veamos las funciones expand, factor y horner.


Ejemplo:
>> syms x;
>> f=(x^2- 1)*(x^4 + x^3 + x^2 + x + 1)*(x^4 - x^3 + x^2 - x + 1);
>> expand(f)
ans =
x^10 1
>> g = x^3 + 6*x^2 + 11*x + 6;
>> factor(g)
ans =
(x + 3)*(x + 2)*(x + 1)
>> h = x^5 + x^4 + x^3 + x^2 + x;
>> horner(h)
ans =
x*(x*(x*(x*(x + 1) + 1) + 1) + 1)
14

Matlab
Simplificar de expresiones simblicas

Veamos la funcin collect.


Ejemplo:
>> syms x y;
>> R1 = collect((exp(x)+x)*(x+2))
R1 =
x^2 + (exp(x) + 2)*x + 2*exp(x)
>> R2 = collect((x+y)*(x^2+y^2+1), y)
R2 =
y^3 + x*y^2 + (x^2 + 1)*y + x*(x^2 + 1)
>> R3 = collect([(x+1)*(y+1),x+y])
R3 =
[ y + x*(y + 1) + 1, x + y]
15

Matlab

syms x; f = cos(x) + i*sin(x); simple(f)

Simplificar de expresiones simblicas

La funcin simple trata de reescribir la expresin empleando


la menor cantidad de caracteres.
Ejemplo:
>> syms x;
>> f = cos(x)^2 + sin(x)^2;
>> f = simple(f)
f=
1
>> g = cos(3*acos(x));
>> g = simple(g)
g=
4*x^3 - 3*x

16

Potrebbero piacerti anche