La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Matlab/1289244-Problema-con-Dsolve-para-EDOS-hiladas.html

Problema con Dsolve para EDOS hiladas

Problema con Dsolve para EDOS hiladas

Publicado por Harold (3 intervenciones) el 09/10/2011 04:05:33
Hola. Mi problema es que tengo una EDO del tipo:

Ds1+K1*s1=K2+K3*exp(-K4*z)

,donde Ki son constantes; z es la variable independiente y s1 es la función buscada.

Esta ecuación la resuelvo sin problemas con Dsolve.

Luego necesito resolver una nueva EDO que utiliza como argumento el resultado de la EDO anterior, es decir:

Ds2+K1*s2=K2+K3*exp(-K4*z)+K5*s1

Luego debo resolver una EDO para s3 que utiliza el resultado de s2, es decir:

Ds3+K1*s3=K2+K3*exp(-K4*z)+K5*s2

Después debo resolver la EDO de s4 y así sucesivamente.

Mi problema es que para resolver la EDO de s2 no se como ingresar de manera automática el resultado explícito de s1, ni tampoco puedo hacerla en las sgtes. ecuaciones. Esto porque al ingresar el comando Dsolve:

Dsolve('Ds2+K1*s2=K2+K3*exp(-K4*z)+K5*s1','s2(0)=0','z')

toma s1 como una variable simbólica, y no la reemplaza con la función hallada en la solución de la EDO anterior.

Intenté explicarlo lo más detalladamente posible.

Muchas gracias por su ayuda.
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema con Dsolve para EDOS hiladas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/10/2011 07:20:33
HOLA Harold.

UTILIZA EL METODO DE RUNGE KUTTA DE 4TO ORDEN PARA SISTEMAS.
PARA RESOLVER TU PROBLEMA.


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]

Problema con Dsolve para EDOS hiladas

Publicado por Harold (3 intervenciones) el 09/10/2011 15:58:56
Hola Jose.

Ya había pensado en métodos numéricos, pero no me sirven porque yo necesito ir traspasando una fórmula a la siguiente ecuación, no un valor numérico. Es decir que de la primera EDO voy a obtener algo como:

s1=f(z), como por ejemplo s1=K5+K6*exp(-K7*z) y luego necesito que en la siguiente EDO se reemplace s1 por K5+K6*exp(-K7*z) y no por un número, como lo harían según entiendo los métodos numéricos.

En resumen necesito obtener la función s1(z) para luego reemplazar esta (como fórmula) en la EDO de s2; obtener la función s2(z) para reemplazarla en la EDO de s3 (como fórmula) y así sucesivamente.

Estoy complicado porque el Dsolve no me permite ir reemplazando de forma automática las fórmulas de los s1, s2, etc. , en las EDO posteriores.

Seguramente no fui lo suficientemente claro en la explicación anterior, espero haberlo sido ahora.

Ojalá me puedas ayudar y muchas gracias por tu respuesta. Saludos.
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema con Dsolve para EDOS hiladas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/10/2011 03:17:03
hola Harold
Aqui un avance de lo que quieres hacer.
%==================
clear all
f1='Ds1-K1*s1-K2+K3*exp(-K4*z)=0'; F1=dsolve(f1),
f2=['Ds2-K1*s2-K2-K3*exp(-K4*z)+K5*',char(F1),'=0']; F2=dsolve(f2),

%========================
EJECUCION
>> edo3
F1 =
(K3 + C2*exp(K1*t) - K2*exp(K4*z))/(K1*exp(K4*z))

F2 =
C5*exp(K1*t) - (K2 + K3/exp(K4*z) + (K2*K5)/K1 - (K3*K5)/(K1*exp(K4*z)) + C2*K5*t*exp(K1*t - K4*z))/K1


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]

Problema con Dsolve para EDOS hiladas

Publicado por Harold (3 intervenciones) el 11/10/2011 04:37:01
Hola Jose.

Muchísimas gracias por tu respuesta. Es exactamente lo que necesitaba. Me faltaba conocer el comando char.

Saludos y nuevamente muchas gracias por tu tiempo.