Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cálculo Simbólico Con Matlab Syms

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Clculo simblico en MatLab

Boyan Bonev Facultad de Ciencias Econmicas y Empresariales Universidad de Alicante 31 de octubre de 2011

Resumen de funcionalidades
A continuacin se describen varias funcionalidades del paquete de clculo simblico.

Paquete syms
En un principio Matlab se dise orientado al clculo numrico. As, si intentamos calcular el seno de una variable no numrica:

>> y=sin(x) ??? Undefined function or variable 'x'. Matlab no conoce el valor numrico de x. >> syms x

Recientemente se aadi un paquete adicional que permite a Matlab trabajar con variables simblicas, teniendo que declararlas antes de usarlas:

Simplicar
Ahora podemos usar expresiones que contengan a esta variable. Por ejemplo, si queremos simplicar o evaluar una expresin lo hacemos con el comando

simplify. >> y=sin(x); >> z=cos(x); >> simplify(y^2+z^2) ans = 1

Sustituir valores en la variable


Para evaluar una expresin con determinado valor de la variable:

>> subs(x^2-x-1,-3) ans = 11

Resolver ecuaciones
Para resolver la ecuacin

>> solve(x^2-x-1) ans = 5^(1/2)/2 + 1/2 1/2 - 5^(1/2)/2

x2 x 1 = 0:

obteniendo estas dos soluciones.

Lmites
Con el paquete simblico tambin podemos calcular lmites, derivadas, integrales, etc. Para calcular el lmite para

>> limit(sin(x)/x,0) ans = 1

f (x)= sin(x) x f (n) =

cuando

tiende a cero:

>> syms n >> limit((n^3+3*n^2-2*n)/(3*n^3-1),inf) ans = 1/3

Y un lmite en el innito de

n3 +3n2 2n : 3n3 1

Derivadas
Para calcular derivadas usamos el comando

>> syms x >> f=x^3-cos(x)+1; >> g=diff(f) g = 3*x^2+sin(x)

diff:

Evaluar funciones
Ntese que en los comandos introducidos se ha denido la funcin como la funcin

f (x),

as por

g(x),

que almacena el resultado de la derivada. Estas funciones

se pueden evaluar en un valor concreto de ejemplo, evaluamos >> subs(f,1) ans = 1.4597

por medio del comando

subs,

f (1):

Integrales indenidas
int. Si queremos calcular >> int(g) x^3 - cos(x)
Por otro lado tambin es posible calcular primitivas utilizando el comando la primitiva del ltimo resultado,

g:

Integrales denidas
Para calcular integrales denidas en un intervalo, podemos indicar los lmites de ste en la funcin introducimos:

int. Por ejemplo, para la integral denida

3
1

3x3 +sin(x) dx

>> int(3*x^2+sin(x),1,3) ans = cos(1) - cos(3) + 26


Nota: para integrales impropias utilizaremos

-inf inf para indicar el lmite

inferior y/o superior.

Representacin grca
Podemos representar grcamente una funcin utilizando la funcin ezplot:

>> ezplot(f)
x

o bien tecleando la expresin directamente (pero habiendo declarado previamente como simblica, con

syms x): >> ezplot(x^3 - cos(x) + 1)

El resultado se puede ver en la gura 1. Ms informacin en la documentacin del paquete syms:

http://www.mathworks.es/help/toolbox/symbolic/index.html

Suma de series
1 2n ; su suma desde un trmino hasta otro, por ejemplo desde 1 hasta 3, se calcula con:
Sea la serie

>> syms n >> symsum(1/2^n,1,3) ans = 7/8

La suma desde un trmino hasta el innito se calcula as:

>> symsum(1/2^n,1,inf) ans = 1

x3 cos(x) + 1 250 200 150 100 50 0 50 100 150 200 250 6 4 2 0 x 2 4 6

Figura 1: Resultado de la funcin

ezplot.

Ejemplo de anlisis de una funcin


A continuacin se muestra un ejemplo de estudio de una funcin por MatLab, pero no objetivo de la asignatura no es aprender a programar. La funcin a estudiar ser

asistido automtico. Aunque podramos automatizarlo del todo, el


f (x) = x 4 x2

La introducimos en MatLab, declarando previamente que la como variable simblica, y no numrica:

debe tratarse

>> syms x >> f=x*sqrt(4-x^2) f = x*(4 - x^2)^(1/2)

Nota: a lo largo de esta gua lo que el usuario introduce en matlab est marcado por >>; lo dems es la respuesta de MatLab.

Dominio, continuidad, asntotas verticales


El dominio de la funcin son los ecuacin

xR

tales que

4 x2 0.

Resolvemos la

4 x = 0 y obtenemos >> solve(4-x^2,0) ans = 2

dos soluciones:

-2
Para ver si y el 3:

4 x2

es positivo o negativo en el intervalo

[2, 2],

sustituimos

un valor que pertenezca al intervalo y otro que no pertenezca, por ejemplo el 1

>> subs(4-x^2,1) ans = 3 >> subs(4-x^2,3) ans = -5


Por tanto la funcin es negativa fuera del intervalo y positiva dentro, as que:

D(f ) = [2, 2]
La funcin es continua en su dominio y no tiene asntotas verticales. Los lmites del dominio son cerrados as que no hace falta estudiar los lmites (sobra con sustituir en la funcin), pero si hubiera que hacerlo se hara con el comando:

>> limit(f,-2) ans = 0 >> limit(f,2) ans = 0

Puntos de corte con el eje y


Para x = 0, >> subs(f,0) ans = 0 obtenemos que

f (0) = 0,

por tanto un punto de corte es el

(0, 0).

Puntos de corte con el eje x


Para f (x) = 0 tenemos >> solve(f,0) ans = 0 2 -2 que resolver dicha ecuacin:

y obtenemos tres soluciones de

x para y = 0, as que los puntos de corte son:

(2, 0), (0, 0)

(2, 0).

Asntotas horizontales
No es posible estudiar el comportamiento de la funcin en el innito porque est fuera de su dominio. De haberlo sido, lo habramos hecho as:

>> limit(f,inf) ans = i*Inf >> limit(f,-inf) ans = -i*Inf

En este caso obtenemos nmeros complejos (la i signica parte imaginaria), que no pertencen al dominio real (se debe a la raz cuadrada de nmeros negativos).

Primera y segunda derivada


Como vamos a utilizarlas repetidas veces, vamos a almacenarlas bajo los nombres f1 y f2 respectivamente. Adems vamos a aplicar el comando de simplicacin con el nico propsito de ver las mismas expresiones que hubiramos obtenido a mano:

>> f1 = simplify(diff(f)) f1 = -(2*(x^2 - 2))/(4 - x^2)^(1/2) >> f2 = simplify(diff(f1)) f2 = (2*x*(x^2 - 6))/(4 - x^2)^(3/2)
Las expresiones obtenidas signican:

2(x2 2) f (x) = 4 x2 2x(x2 6) f (x) = (4 x2 )3

Crecimiento, decrecimiento y extremos locales


Para obtener los puntos crticos tenemos que resolver la ecuacin >> solve(f1,0) ans = 2^(1/2) -2^(1/2) obteniendo dos soluciones: afecta slo al 2, no al signo). Para ver si son extremos locales y clasicarlos, los sustituimos en la segunda derivada: >> subs(f2, 2^(1/2)) ans =

f (x) = 0:

x=

2, x = 2.

(Ntese que la potencia (1/2)

-4.0000 >> subs(f2,-2^(1/2)) ans = 4.0000 obteniendo

0,
en

por tanto

2) f ( < 0, por tanto x = 2 es un mximo local, y f ( 2) > x = 2 es un mnimo local.

Para ver qu valor alcanza la funcin en dichos extremos, sobra con sustituirlos

f (x): >> subs(f, 2^(1/2)) ans = 2 >> subs(f,-2^(1/2)) ans = -2


Finalmente vamos a comprobar el crecimiento/decrecimiento de la funcin

dentro de todo su dominio, particionado por los dos extremos que hemos obtenido, es decir, en los intervalos

[2, 2), ( 2, 2)

( 2, 2].
y

Para ello sobra con

que sustituyamos algn valor de cada uno de los intervalos en la pendiente es positiva o negativa, por ejempo,

f (x)

para ver si

>> subs(f1,-1.9) ans = -5.1561 >> subs(f1,0) ans = 2 >> subs(f1,1.9) ans = -5.1561 Por tanto: Si x [2, 2) f (x) < 0 f (x) es decreciente, si x ( 2, 2) f (x) > 0 f (x) es creciente, si x ( 2, 2] f (x) < 0 f (x) es decreciente.

1,9, 0

1,9:

Intervalos de concavidad/convexidad y puntos de inexin


La segunda derivada se anula en:

>> solve(f2,0) ans = 0 6^(1/2) -6^(1/2)

pero de los tres, slo el punto -1 y 1:

x = 0 pertenece al dominio de f (x). Estudiamos

el signo de la segunda derivada a ambos lados de dicho punto, sustituyendo en

>> subs(f2,-1) ans = 1.9245 >> subs(f2,1) ans = -1.9245 Si x (2, 0) f (x) > 0 f (x) es convexa, si x (0, 2) f (x) < 0 f (x) es cncava. La funcin cambia de convexa a cncava en x = 0,

por tanto el punto

(0, 0)

es un punto de inexin.

Representacin grca
Representamos grcamente una funcin utilizando la funcin ezplot:

>> ezplot(f, [-2.1, 2.1])

x (4 x2)1/2

2 1.5 1 0.5 0 0.5 1 1.5 2

1.5

0.5

0 x

0.5

1.5

En este caso hemos indicado entre qu intervalos debe dibujarse la funcin, para dejar un pequeo margen de 0.1 unidades a los lados del dominio de la funcin.

Limitaciones
Ntese que la grca no llega a representarse en los puntos

(2, 0)

(2, 0).

Segn la implementacin de las funciones de representacin puede haber distintas

limitaciones a la hora de representar. En este caso la gca est incompleta probablemente debido a que la pendiente de la funcin tiende a innito conforme se acerca al nal de su dominio. Sin embargo no signica que la funcin no est denida en estos puntos. Lo podemos comprobar dibujando la grca en un intervalo muy pequeo alrededor del punto -2. (Nota: el cambio de curvatura en la segunda grca con respecto a la primera se debe a diferentes cambios de escala en los ejes x e y).

>> ezplot(f,[-2.01,-1.99])
x (4 x2)1/2 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 2.008 2.006 2.004 2.002 2 x 1.998 1.996 1.994 1.992 1.99

Ningn programa de representacin grca es perfecto. Es muy comn que importantes detalles de la funcin no aparezcan representados debido a la escala de representacin. Por tanto es arriesgado extraer conclusiones sobre una funcin solamente a partir de una grca generada por ordenador. Utilizaremos los programas matemticos para agilizar nuestro trabajo y para comprobar los resultados pero teniendo presentes los conocimientos tericos adquiridos en la asignatura.

Referencias
Ms informacin en la documentacin del paquete syms:

http://www.mathworks.es/help/toolbox/symbolic/index.html

También podría gustarte