Sunteți pe pagina 1din 8

Cap tulo 3 C alculo simb olico: Funciones anal ticas

3.1. La toolbox de c alculo simb olico


Hasta ahora hemos manejado datos num ericos. En esta secci on estudiaremos algunas utilidades de MATLAB para realizar c alculo simb olico. Las variables utilizadas hasta ahora eran simplemente contenedores de datos. Aqu aprenderemos c omo se dene una variable simb olica x y c omo a partir de ella se puede construir una funci on que puede someterse a diversas operaciones como la derivaci on o integraci on. La variable x no contiene ning un dato num erico sino que tiene el car acter abstracto que usualmente se le da en matem aticas. Podemos darnos una idea de las capacidades de MATLAB para c alculo simb olico mediante la ayuda. Si queremos obtener informaci on sobre una instrucci on concreta, por ejemplo sobre diff, bien la buscamos usando el men u de ayuda help windows o bien escribimos help sym/diff. Otra utilidad interesante es funtool. Escribiendo esta instrucci on se accede a un panel que permite realizar diversas operaciones. Dispone de una lista de funciones a las que podemos acceder pulsando en Cycle. Podemos a nadir nuevas funciones mediante Insert y eliminarlas de la lista usando Remove.

3.2. Creando objetos simb olicos


Funci on sym syms Salida Convierte una variable a simb olico. Si la variable no existe, la crea. Crea variables simb olicas

Pueden crearse objetos simb olicos como sigue: )) syms x real %crea la variable simb olica real x. )) f=3*x2+2*x+1 %crea la variable simb olica f. 18

DE MATEMATICAS AMPLIACION

Pr actica 3

En la instrucci on anterior la variable x tiene el sentido de variable independiente habitual en matem aticas. Como veremos posteriormente, f se puede integrar o derivar respecto a x. )) syms a b; %crea las variables simb olicas a y b )) c=sym(1/3) %almacena en c la constante simb olica 1/3 )) p=sym(pi) %almacena en p la constante simb olica pi Las instrucciones anteriores pueden escribirse como c=sym(1/3) o p=sym(pi) El comando sym tambi en puede aplicarse a una matriz: )) A=[1 2/3;pi sqrt(2)] )) A=sym(A)

3.3. Operaciones
Con las variables simb olicas pueden realizarse operaciones elementales del mismo modo que con las variables num ericas utilizando los operadores habituales. Adem as, hay otros co mandos para realizar operaciones simb olicamente. Una lista de estos puede obtenerse tecleando help symbolic. Conviene advertir que hay varios comandos que act uan tanto sobre variables simb olicas como sobre variables num ericas si bien, como es l ogico, operan de modo diferente. Funci on collect factor expand pretty Salida agrupa t erminos. factoriza la expresi on; si se aplica a un n umero entero, lo descompone en factores. multiplica factores. presentaci on m as legible.

Ejemplo 15 Agr upese la expresi on xy + sen(x)y y3 x + x2 y2 + y3 sen(x) en potencias de x y de y. )) )) )) )) )) )) )) syms x y p=x*y+sin(x)*y-y3*x+x2*y2+y3*sin(x); pretty(p) q=collect(p) pretty(q) r=collect(p,y) pretty(r)

ces sean i, 1 i y 3i. Ejemplo 16 Halle los coecientes de un polinomio cuyas ra

M.L. Serrano, J.A. Huidobro

19

DE MATEMATICAS AMPLIACION

Pr actica 3

)) )) )) )) ))

syms z p=(z-i)*(z-1+i)*(z-3i) q=expand(p) collect(q) pretty(ans) Si se quiere volver a la expresi on primitiva basta escribir

)) factor(q)

%factoriza el polinomio.

3.4. Simplicando resultados


Funci on simplify simple Salida intenta simplicar aplicando identidades matem aticas. intenta simplicar al menor n umero de caracteres.

Ejemplo 17 Simplique la expresi on sen2 (x) + (1 cos(x))2 . )) p=sin(x)2+(1-cos(x))2 )) simplify(p) M as poderoso que simplify es simple y en ocasiones debe aplicarse m as de una vez: Ejemplo 18 Simplif quese la expresi on )) )) )) )) 3 27 + 27 x1 + 9 x2 + x3 .

p=(27+27/x+9/x2+1/x3)(1/3) q=simple(p) q=simple(q) q=simple(q)

3.5. Sustituciones en una expresi on simb olica y conversi on a num erico


Funci on subs compose(f,g,x,y,z) Salida substituye una expresi on compone dos funciones simb olicas, f y g, donde la variable independiente de la composici on ser a z y las independientes de f y de g ser an respectivamente x e y. Las variables x, y y z son opcionales obtiene el valor num erico especica el n umero de d gitos eval ua una expresi on con la precisi on deseada 20

double digits vpa M.L. Serrano, J.A. Huidobro

DE MATEMATICAS AMPLIACION

Pr actica 3

2 Ejemplo uyase x por s2 . Haciendo a = 1, b = 2 y 19 Construya f = ax + bx + c y sustit engase el valor de f para s = 1 y s = 4. c = 3, obt

)) )) )) )) )) ))

syms x a b c f=a*x2+b*x+c syms s g=subs(f,x,s2) %en f sustituye x por s2 h=subs(g,{a,b,c},{1,2,sqrt(3)}) %substituci on m ultiple. k=subs(h,s,[1;4]) %sustituye s por una matriz. 3 2x + 5y + 3 en los puntos (0, 0), (0, 1), (0, 2),

Ejemplo 20 Obtenga el valor de f (x, y) = y (0, 3). )) )) )) ))

syms x y f=(2*x+5*y+3)(1/3) v=0:3; val=subs(f,{x,y},{0*v,v}) %sustituye (x,y) por (0,v(i))

En la parte b asica, MatLab utiliza la aritm etica de punto otante y trabaja con 16 d gitos. Por este motivo, si se manejan n umeros de m as decimales, lo que sucede con n umeros irracionales, en cada operaci on se produce un error llamado de redondeo. En c alculo simb olico no se produce este tipo de error pues MatLab no realiza c alculos num ericos, trabaja simb olicamente. S puede producirse un error de redondeo cuando se usa la instrucci on double para convertir un resultado simb olico a num erico.

3.6. Diferenciaci on e integraci on


Si f es una expresi on simb olica, la instrucci on diff se usa en una de las cuatro formas siguientes: diff(f,u,n) diff(f) diff(f,u) diff(f,n) Halla la derivada de orden n (n n umero entero) respecto a u Halla la derivada respecto a la variable por defecto Halla la derivada respecto a u Halla la derivada de orden n respecto a la variable por defecto

En las instrucciones segunda y cuarta, si no aparece la variable x, las derivadas se realizan respecto a la variable por defecto, que es x, o si esta no aparece, la letra del alfabeto m as pr oxima a x (si hay dos a la misma distancia se elige la de la derecha). on f (x, y) = ax2 + bxy + xy3 y halle: Ejemplo 21 Construya la funci la derivada de f respecto a x.

M.L. Serrano, J.A. Huidobro

21

DE MATEMATICAS AMPLIACION

Pr actica 3

la derivada segunda de f respecto a x. la derivada de f respecto a y. la derivada segunda de f respecto a y. Las instrucciones que tenemos que escribir son: )) )) )) )) )) )) syms x y a b f=a*x2+b*x*y+x*y3 dfx=diff(f) d2fx=diff(f,2) dfy=diff(f,y) d2fy=diff(f,y,2)

Conviene se nalar que diff puede actuar sobre una matriz. Tambi en hay un operador diff que act ua sobre variables num ericas (obviamente no calcula la derivada). La instrucci on int act ua como sigue:

int(f,s) int(f) int(f,s,a,b) int(f,a,b)

Calcula una primitiva de f respecto a s. Calcula una primitiva de f respecto a la variable por defecto. Calcula la integral denida respecto a s entre a y b. Calcula la integral denida respecto a la variable por defecto entre a y b

En las instrucciones segunda y cuarta, si en f no aparece la variable x, calcula las integrales respecto a la variable indicada por ndsym(f,1). Los l mites a y b pueden ser datos num ericos o expresiones simb olicas. Ejemplo 22 Halle una primitiva de las funciones f (x) = )) )) )) )) )) )) )) )) syms x f=1/sqrt(x2-1) F=int(f) G=int(log(x)/x) diff(F) G=int(log(x)/x) G=simplify(ans) diff(G) 1 x2 + 1 y g(x) = ln(x) x

M.L. Serrano, J.A. Huidobro

22

DE MATEMATICAS AMPLIACION

Pr actica 3

3.7. Soluci on de ecuaciones


En esta secci on vamos a resolver ecuaciones simb olicas mediante la funci on solve. Mediante esta instrucci on MATLAB obtiene soluciones de ecuaciones. MATLAB busca soluciones en el campo de los n umeros complejos y cuando no puede obtener soluciones simb olicas intenta obtener soluciones num ericas. Funci on solve Salida encuentra soluciones de una ecuaci on

Ejemplo 23 Calcule todas las ra ces del polinomio z3 + z2 4z + 6 La instrucci on )) syms z )) p=z3+z2-4*z+6 )) sol=solve(p) nos da las soluciones de la ecuaci on. La soluci on es un vector de tres componentes que hemos guardado con el nombre sol. Tambi en pod amos haber escrito )) sol=solve(z3+z2-4*z+6) y tambi en se pueden omitir los ap ostrofos, pero en este caso es preciso que z est e declarada como variable simb olica )) syms z )) sol=solve(z3+z2-4*z+6) Ejemplo 24 Halle la soluci on general de la ecuaci on az4 + bz2 + c = 0. )) sol=solve(a*z4+b*z2+c) En el comando solve podemos especicar cual es la variable que deseamos despejar, en el caso de que halla varias. As , en la ecuaci on del ejemplo anterior podemos despejar b escribiendo )) sol=solve(a*z4+b*z2+c,b) Tambi en podemos resolver un sistema de ecuaciones.

M.L. Serrano, J.A. Huidobro

23

DE MATEMATICAS AMPLIACION

Pr actica 3

Ejemplo 25 Halle las soluciones del sistema 90z + 12w + 45z2 + 6z2 w 12zw + z2 w2 2zw2 + 2w2 = 90, w2 2w = 5. MATLAB almacena la soluci on del sistema en una estructura de datos: )) sol=solve(90-90*z+12*w+45*z2+6*z2*w-12*z*w+z2*w2 -2*z*w2+2*w2,w2-2*w+5)

Para obtener los valores de la soluci on escribimos )) sol.w,sol.z En el caso de que en el sistema aparezcan m as variables que ecuaciones tambi en podemos elegir qu e variables deseamos despejar. Ejemplo 26 En el sistema ax + by = 0, bx ay + 1 = 0, despeje las variables a y x en funci on de las variables y y b. )) sol=solve(a*x+b*y,b*x-a*y+1,a,x) )) solucion=[sol.a sol.x] Observamos tambi en que en este caso hay m as de una soluci on.

3.8. Ejercicios
Ejercicio 3.1 Escriba una funci on [w]=logalfa(z,alfa) que calcule la imagen por la rama del logaritmo, log (z), de un complejo z C, dando un mensaje de error cuando dicho valor no est e denido. (Utilice la funci on argalfa de la pr actica 1). Compruebe su funcionamiento creando un chero ej3 1.m en el que escribir a las instrucciones de c alculo de log0 (i), log (i), log20 (i) y log5 (i). En el mismo chero, dibuje los valores obtenidos con puntos rojos. Calcula con la funci on el log /2 (i) existe? porqu e? Ejercicio 3.2 Escriba una funci on [c]=cauchyR(f,x,y) que nos diga si f (x + iy) verica o no las condiciones de Cauchy-Riemann en C. La variable c tomar a el valor 1 si se cumplen y 0 en caso contrario. Compru ebese su funcionamiento aplic andola a: 1. f (x + iy) = ex cos(y) + ex sen(y)i en C. 2. f (x + iy) = 2xy (x2 y2 )i en C. 3. f (x + iy) = x2 + y2 en C

M.L. Serrano, J.A. Huidobro

24

DE MATEMATICAS AMPLIACION

Pr actica 3

Gu ardense las instrucciones para comprobar el funcionamiento en un chero ej3 2.m Ejercicio 3.3 Escriba una funci on [v]=armoconj(u,x,y) que, calcule una arm onica conjugada de u(x, y), comprobando previamente si es o no arm onica. (En caso de no serlo, debe devolver un mensaje de error y parar la ejecuci on). Compru ebese su funcionamiento aplic andola a: 1. u(x, y) = y3 3x2 y. 2. u(x, y) = ey sen(x) x2 + y2 . 3. u(x, y) =

x 2 + y2

Utilice la funci on [c]=cauchyR(f,x,y) para comprobar que, en efecto, las funciones obtenidas son arm onica conjugada de la dada. Gu ardese las instrucciones en un chero ej3 3.m on anterior para que tenga dos argumentos de entrada m as, Ejercicio 3.4 Modique la funci [v]=armo conj2(u,x,y,z,c), que devuelva la arm onica conjugada de u(x, y) que en z tome el valor c. Compru ebese el funcionamiento con la funci on u(x, y) = x2 y2 x3 + 3xy2 calculando una arm onica conjugada suya que verique que en el punto i tome el valor 1 i. Id entico para f (x, y) = ey cos(x) ey cos(x) de forma que la arm onica conjugada tome el valor 2 en i. Gu ardese las instrucciones para comprobar el funcionamiento en un chero ej3 4.m

M.L. Serrano, J.A. Huidobro

25

S-ar putea să vă placă și