Bueno, nos vamos a poner un poco más técnicos acá. Vamos a aprender como resolver ecuaciones diferenciales no lineales por medio de OCTAVE, uno d mis programas favoritos junto con LyX e Inkscape.
Para resolver este tipo de ecuaciones Octave utiliza la función lsode (the Livermore Solver for Ordinary
Differential Equations, descrita en A. C. Hindmarsh, ODEPACK, a
Systematized Collection of ODE Solvers, in: Scientific Computing, R. S.
Stepleman et al. (Eds.), North-Holland, Amsterdam, 1983, pages 55–64).
la forma de utilizar esta función es con ecuaciones del tipo:
dx = f(x,t)
dt
con condiciones iniciales x(t=0) = x_0
La solución que devuelve lsode es una matriz x, con cada fila correspondiente a un elemento del vector t. El primer elemento de t debe ser t_0 y debe corresponder al estado inicial del sistema x_0, de modo que la primera fila de la salida es x_0.
Para resolver la ecuación diferencial:
dx = x^2 x(t=0) = 0.5
dt
Se procede a definir la ecuación dx/dt:
octave:1> function ret=f(x,t);
> ret = x^2;endfunction
posteriormente se define el intervalo d tiempo así
octave:2> t = (0:0.1:1)';
Ojo q cuando colocas t = (0 <-- este es el valor inicial:0.1<--- este es el rango o intervalo:1<--- este es el valor final para tu gráfica)
como se espera tener una resolución del tipo x(t) se coloca lsode con el siguiente criterio: lsode (fcn, x_0, t)
así se coloca en octave:
octave:3.> x = lsode('f',.5,t);
y para graficar:
octave:4> plot(t,x)
y ya esta. Tenemos la solución gráfica de la ecuación.
Puedes leer más aca
Suscribirse a:
Enviar comentarios (Atom)
Sabes resolver ecuaciones diferenciales no lineales, con algún método numérico
ResponderEliminarSi, pero depende d la ecuación, un poco tarde mi respuesta, pero puedo ayudarte.
Eliminar