miércoles, 6 de julio de 2011

Resolución de Ecuaciones Diferenciales con Mathemática (R)

UNIVERSIDAD DE SAN CARLOS
FACULTAD DE CIENCIAS QUIMICAS Y FARMACIA

RESOLUCION DE ECUACIONES DIFERENCIALES, USANDO EL PAQUETE MATHEMATICA ®
Luis Manfredo Reyes
Profesor Titular
Area Físico-Matemática

INTRODUCCION
Siendo el paquete computacional Mathematica ® (un producto de Wolfram Research) uno de los más importantes en el campo de la computación aplicada a la matemática, no es de extrañar que contenga utilidades para la resolución de ecuaciones diferenciales.

En este documento se analizan los casos más importantes de resolución de ecuaciones diferenciales de diferente tipo, aplicando el paquete. Sin embargo, se debe tomar en cuenta que, éste software no es un sustituto del estudio ni de la resolución manual. Es solamente una herramienta de apoyo.

MATHEMATICA ES UN SOFTWARE COMERCIAL (Y CARO POR CIERTO). NO SE RECOMIENDA NI SE ESTIMULA SU USO "PIRATA".


Generalidades sobre la función DSolve:
La función DSolve de Mathematica es la encargada de resolver ecuaciones diferenciales. Hay varios detalles que vale la pena mencionar al respecto:
 DSolve[eqn, y, x] resuelve una ecuación diferencial para la función y, respecto a x.
 DSolve[aa, a,  a, aa, a,  a, x]resuelve una lista de ecuaciones
 DSolve[eqn, y, aa, a, … a] resuelve una ecuación diferencial parcial
 DSolve[eqn, y[x], x]obtiene soluciones para y[x] y no para la función y en sí misma.

Por ejemplo:  DSolve[y'[x] == 2 a x, y[x], x] produce como resultado: y[x]->ax2 + c[1]


Las ecuaciones diferenciales deben definirse en términos de derivadas, tales como y'[x] y no como derivadas totales. En este sentido, se requiere un poco de manipulación algegbraica previa.

Por ejemplo: la ecuación (x+y) dx + (x-y) dy=0 se debe reacomodar divididiendo entre dx y reemplazando con y'[x] para poder ser introducida al programa,  así:
                                   (x+y) dx + (x-y) dy=0            | dividir por dx
                                    (x+y)+(x-y)dy/dx=0   |  reemplazar
                                   (x+y)+(x-y)*y'[x]=0

DSolve produce constantes de integración, que para diferenciarlas están debidamente indexadas. Por default, las constantes se nombran C[1], C[2], etcétera. es posible forzar a que exista una constante que reúna a todas (constante única), para lo cual se ingresa la orden: DSolveConstants->(Module[{C},C] &)

Para resolver ecuaciones diferenciales parciales, DSolve genera funciones arbitrarias C[n]

Condiciones de frontera se pueden especificar, dando ecuaciones como por ejemplo:  y'[0] == b

En algunos casos, las soluciones que DSolve produce incluyen integrales que no pueden ser resueltas por el comando Integrate. En ese caso, se producen variables temporales (Dummy) en tales integrales.

En algunos casos, DSolve produce soluciones implícitas que deben ser refinadas.

DSolve puede resolver sistemas de ecuaciones lineales ordinarias de cualquier orden, con coeficientes constantes. También es capaz de resolver ecuaciones lineales hasta de segundo orden con coeficientes no constantess.

EJEMPLOS:

Resuelva:
dy/dx=ay    donde a es cualquier constante
     Inicialmente se debe acomodar la expresión: dy/dx=ay es equivalente a y'=ay
     en Mathematica se ingresa:  DSolve[y'[x]==a*y[x],y[x],x]
     y la respuesta que se obtiene es: y[x]->Ea*x*C[1]

CASO1: ECUACIONES DE VARIABLES SEPARABLES
Ejemplo 1: Resuelva:.

 Primero hay que acomodar la ecuación, sustituyendo la derivada por y' 
2*x*y+6*x+(x^2-4)*y'=0

en el área de ingreso se escribe: DSolve[2*x*y[x]+6*x+(x^2-4)*y'[x]==0,y[x],x]
y se oprime Shift+Enter
el resultado es:

y(x)-> C1-3x2
                            x2-4


Ejemplo 2: resuelva:

Se ingresa DSolve[y´[x]==x-1+x*y[x]-y[x],y[x],x]  y se oprime Shift+Enter
la respuesta es:

y(x)=C1.Ex(x/2-1)-1


CASO 2: ECUACIONES DIFERENCIALES EXACTAS
Resuelva: 2xydx+(x^2-1)dy=0
 Acomodar la ecuación:
2xy+(x^2-1)*y'=0

Se ingresa DSolve[2*x*y[x]+(x^2-1)*y'[x]==0,y[x],x] y se oprime Shift+Enter

la respuesta es:




CASO 3: ECUACIONES DIFERENCIALES HOMOGÉNEAS
Resuelva: (x2+y2) dx +(x2-xy) dy=0

acomodar la ecuación: (x^2+y^2)+(x^2-xy) y'=0

se ingresa DSolve[( x^2+y[x]^2) +(x^2-x*y[X])*y'[x]==0,y[x],x] y se oprime SHIFT+ENTER


CASO 4: ECUACIONES LINEALES
resuelva: x2 y'+5xy+3x5=0

Se acomoda la ecuación: y'=(5/x)*y+3x^5=0

Se ingresa DSolve[y'[x]+5/x*y[x]+3*x^5==0,y[x],x] y se oprime Shift+Enter
la respuesta es:

{{y[x] -> -((3 x^6)/11) + C[1]/x^5}}


CASO 5: ECUACIONES DE LA FORMA BERNOULLI
Resuelva:
y'=5y-5xy3

Se ingresa  DSolve[y'[x]==5*y[x]-5*x*y[x]^3,y[x],x] y se oprime Shift+Enter

la respuesta es:


CASO 6: ECUACIONES DE LA FORMA RICATTI:
Resuelva: y'=y+y^2+1
Ingresar  DSolve[y'[x]==y[x]+y[x]^2+1,y[x],x] y oprimir shift+enter
La respuesta es:



CASO 7: ECUACIONES DE SEGUNDO ORDEN DE LA FORMA CAUCHY-EULER
  Resuelva: x2y''-5x*y'+13=0
Ingresar DSolve[x^2*y[x]''-5x*y[x]'+13==0,y[x],x]
La respuesta es: 

CASO 8: 
 ECUACIONES DE SEGUNDO ORDEN CON COEFICIENTES CONSTANTES

Resuelva:
(x-1)y''-y'=0
Ingresar DSolve[(x-1)*y[x]''-y[x]'==0,y[x],x] y oprimir Shift+Enter
La respuesta es:





CASO 9: ECUACIONES DE SEGUNDO ORDEN CON COEFICIENTES VARIABLES
Resuelva:


 Ingresar DSolve[(y''[t]-3*t/(t-1)*y'[t]+4/(t-1)*y[t]==y[t],y[t],t]
La respuesta es:



Resuelva:

DSolve[y''[x]==a*y'[x]+y[x],y[x],y,x]

La respuesta que produce el paquete es:

No hay comentarios:

Publicar un comentario