From: davide p. <dav...@ho...> - 2012-09-05 09:07:33
|
Hi everyone,I'm Davide Prandi, and I'm a student of Politecnico di Milano, electronic engineering. My professor of "Numerical computation" (he's present in this mailing list) asked me to develop a code that implements the "ode23s" method, present in matlab but not in Octave. Ode23s solves differential equations (like ode23, odepkg package), but is builted for "stiff" problems. I have referred to "The matlab ode suite (Shampine, Reichelt)", pp. 6-7, where Rosenbrock formula, a particular form of Runge-Kutta methods, is mathematically explained. My code is based on these formulas. Well, the code basically works, but there is some feature that must be fixed. In particular:1) I use "dfxpdp.m" (optim package) for the Jacobian computing. It works, but it accepts equations in F(Y,t) form, and all the ode solvers require equations in form F(t,Y). There is a way to redefine F, swapping the dependent/independent variable? At moment, I'm testing the code putting the equations in F(Y,t) form.2) There is an optional input in the function's prototype: "options". It use "odeset" to define some parameters, for example user can change the initial integration step size. I've implemented some of these options, and certainly there is some things to do/fix. I hope that my work can be useful. If all the problems are fixed, I think that this code may be integrated in the "odepkg" package.How can I share the code? I enclose .m file or I copy all the code in a e-mail?Of course, I'm not a experienced programmer (this is the first time that I do a big project), I will accept all the advice.Thanks to all, Davide |