Problem with ODE solver
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I would like to solve a simple parabolic equation, y=2*x^2 from -4 to 4. So I use ode45 to solve this problem according to the code below:
[T,Y] = ode113(@para,[-4 4],32,[],4);
plot (T,Y);
function dy = para(t,y,a)
dy=a*y; % as dy/dx= 4*x
Its giving me wiered results. Can you guys tell me what' going on here. I also tried other ODE functions. All of them are giving me the wrong results.
0 Commenti
Risposta accettata
Grzegorz Knor
il 22 Feb 2012
[T,Y] = ode113(@(x,y)4*x,[-4 4],32);
fplot('2*x.^2',[-4 4])
hold on
plot (T,Y,'ro')
Più risposte (1)
Matt Tearle
il 22 Feb 2012
Your equation is defining dy/dx = ay, not dy/dx = ax. Big difference! The solution to the former is y(x) = C*exp(ax); the solution to the latter is y(x) = ax^2/2, as you were hoping for.
So
function dy = para(x,y,a)
dy=a*x; % as dy/dx= 4*x
(I'm vaguely curious why you'd want to bother with an ODE solver for an integral of this kind, but that's a side-issue.)
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!