Ec Diferenciales Con Matlab
Enviado por camiliii • 20 de Abril de 2014 • 7.771 Palabras (32 Páginas) • 408 Visitas
Resolutores de Ecuaciones Diferenciales
Mathcad tiene una variedad de funciones para resolver numéricamente ecuaciones diferenciales parciales:
Resolutor de Ecuaciones Diferenciales Ordinarias
odesolve(x,b,step)
rkfixed(y,x1,x2,npoints,D)
Sistemas Alisados
Bulstoer(y,x1,x2,npoints,D)
Sistemas Stiff
Stiffb(y,x1,x2,npoints,D,J)
Stiffr(y,x1,x2,npoints,D,J)
Sistemas lentamente variables
Rkadapt(y,x1,x2,npoints,D)
Encontrar el ultimo punto sobre el intervalo de integración
bulstoer(y,x1,x2,acc,D,kmax,s)
rkadapt(y,x1,x2,acc,D,kmax,s)
stiffb(y,x1,x2,acc,D,J,kmax,s)
stiffr(y,x1,x2,acc,D,J,kmax,s)
Resolver problemas de valores límites dos-puntos
bvalfit(v1,v2,x1,x2,xf,D,load1,load2,score)
sbval(v,x1,x2,D,load,score)
Resolver Ecuaciones Diferenciales a las derivadas parciales
relax(a,b,c,d,e,f,u,rjac)
multigrid(M,ncycle)
Resolución de una sola ecuación diferencial ordinaria
odesolve(x,b,[step]) Retorna una función de x la cual es una solución a la ecuación diferencial ordinaria (ODE), sujeta a a los constreñiminetos de valor inicial o bordes provista en el solve block. La ODE debe ser lineal en sus derivadas más altas y el número de condiciones debe ser igual al orden de la ODE.
.
Argumentos:
x es la variable de integración. x debe ser real.
b es el punto terminal del intervalo de integración. b debe ser real.
step (opcional) es el número de pasos usados internamente cuando se calcula la solución.
Uso de la función odesolve:
Pasos para usar la función odesolve para resolver una ecuación diferencial ordinaria:
• Tipee la palabra Given para arrancar el solve block.
• Por debajo del Given, tipee la ecuación diferencial y sus constrñimientos usando boolean operators.
• Tippee la función odesolve con la variable de integración, x, y el punto terminal b.
Notes:
• La ecuación diferencial puede ser escita usando los operadores derivada tales como d/dx y d2/dx2 o usando notación primada similar a y(x) e y'(x). (La combinación de teclas para el character prima es Ctrl+F7.)
• Los constreñimientos estarán en la forma de y(a)=b o y'(a)=b. Mathcad no aceptará constrñimientos más complicados tales como y'(a)+y(a)=b.
• El punto terminal b debe ser más grande que el valor inicial.
• Por default, odesolve usa un runge-kutta de paso fijo de resolución. Para usar un método adaptivo, cliquee sobre odesolve con el botón derecho del mouse y eleija Adaptive desde el menú pop-up.
• Para resolver sistemas de ecuaciones diferenciales o para resolver una que no es lineal en el término de derivada más alta, use rkfixed.
Ejemplo:
Los ejemplos de abajo demuestran cómo usar la función odesolve para resolver ecuaciones diferenciales ordinarias:
----------------------------------------------------------------------------------------------------
Utilización de Matlab para resolución de Ecuaciones Diferenciales
DSOLVE Solución simbólica de ecuaciones diferenciales ordnarias
DSOLVE('eqn1','eqn2', ...) acepta ecuaciones simbólicas representando ecuaciones diferenciales ordinarias y condiciones iniciales. Varias ecuaciones o condiciones iniciales pueden ser agrupadas juntas, separadas por comas, en un único argumento de entrada.
Por omisión, la variable independiente es ' t '. La variable independente puede ser cambiada de 't' a alguna otra variable simbólica incluyendo esa variable como el último argumento.
La letra 'D' denota derivada con respecto a la variable independiente, en este caso usualmente d/dt. Una 'D' seguida por un dígito denota derivación repetida; por ejemplo, D2 es d^2/dt^2. Cualesquiera caracteres siguiendo estos operadores de derivación son tomados como variables dependientes; por ejemplo, D3y denota al tercera derivada de y(t). Note que los nombes de las variables simbólicas no deberán contener la letra 'D'.
Las condiciones iniciales son especificadas por ecuaciones tales como 'y(a)=b' o 'Dy(a) = b' donde y es una de las variables dependientes y a y b son constantes. Si el número de condiciones iniciales es menor que el número de variables dependientes, las soluciones resultantes obtendrán constantes arbitrarias, C1, C2, etc.
Son posibles tres diferentes tipos de salidas.
• Para una ecuación y una salida, es retornada la solución resultante, con soluciones múltiples para una ecuación no lineal en un vector simbólico.
• Para varias ecuaciones e igual número de salidas, los resultados son ordenados en orden lexicográfico y asignados a las salidas.
• Para varias ecuaciones y una única salida, se retorna una estructura conteniendo las soluciones.
Si no se encuentra ninguna solución closed-form (explícita) , se intenta una solución implícita. Cuando se retorna una solución implícita, se da una advertencia.
Si no se puede calcular una solución explícita o implícita, entonces se da una advertencia y se retorna el sym vacío. En algunos casos involucrando ecuaciones no-lineales, la salida será una ecuación diferencial de más bajo orden equivalente o una integral.
Ejemplos:
dsolve('Dx = -a*x') retorna
ans = exp(-a*t)*C1
x = dsolve('Dx = -a*x','x(0) = 1','s') retorna
x = exp(-a*s)
y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') retorna
y =
[ sin(t)]
[ -sin(t)]
S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')
retorna una estructura S con campos
S.f = exp(t)*cos(t)+2*exp(t)*sin(t)
S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)
Y = dsolve('Dy = y^2*(1-y)')
Advertencia: No puede ser encontrada solución explícita; se retorna la solución implícita.
Y =
t+1/y-log(y)+log(-1+y)+C1=0
dsolve('Df
...