From: Jaime V. <vi...@fe...> - 2011-03-27 11:13:35
|
On Sun, 2011-03-27 at 12:43 +0200, bienvenido cano saorin wrote: > Hola estoy empezando a programar con Maxima y tengo una ligera idea de > lo que tengo que hacer, pero Me gustaría que alguien me dijera como > puedo programar una función genérica(valga para cualquier sistema de > ecuaciones) que resuelva numericamente sistemas de ecuaciones > diferenciales ordinarias de orden 1 mediante rk y obtenga los > resultados en forma de matriz. Hola, dependiendo de lo que tengas en mente, puede ser muy fácil o un poco más complicado. Por ejemplo, si ya tienes el sistema como en los ejemplos del manual: dx/dt = 4-x^2-4*y^2 dy/dt = y^2-x^2+1 t=0 --> x=-1.25, x=0.75 basta aplicar "matrix" al resultado de rk: (%i1) apply(matrix, rk([4-x^2-4*y^2,y^2-x^2+1], [x,y], [-1.25,0.75], [t,0,1,0.2])); [ 0 - 1.25 0.75 ] [ ] [ 0.2 - 1.206460863833032 .7616485708711195 ] [ ] [ 0.4 - 1.174178432396707 .8011489101974447 ] (%o1) [ ] [ .6000000000000001 - 1.205217041047355 .8596695929751246 ] [ ] [ 0.8 - 1.349573639997437 .8936192824326713 ] [ ] [ 1.0 - 1.582894152671999 .8143302060790327 ] Saludes, Jaime |