Problem with ODE solver
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Grzegorz Knor
am 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')
Weitere Antworten (1)
Matt Tearle
am 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.)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!