ODE45 for a second order differential equation
132 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Remston Martis
am 21 Apr. 2018
Bearbeitet: Ebraheem Menda
am 30 Jun. 2021
I have a second order differential equation : y''=(2*y)+(8*x)*(9-x); Boundary Conditions y(0)=0 , y(9)=0 Need to solve the diff eq using ode45.
I've tried watching a bunch of tutorials but I just cannot seem to figure out how the function is written as a column vector [y';y'']. I don't understand it at all and that might make this query vague too.
Hope someone can help with the code or the explanation on how to solve the above.
Thank you
0 Kommentare
Akzeptierte Antwort
Torsten
am 23 Apr. 2018
[x,y] = ode45(@fun,[0 9],[0 -28]);
function dy = fun(x,y)
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = 2*y(1)+8*x*(9-x);
But for a boundary value problem like yours, you will have to use "bvp4c" instead of "ode45".
Best wishes
Torsten.
5 Kommentare
Weitere Antworten (2)
Stephan
am 22 Apr. 2018
Bearbeitet: Stephan
am 22 Apr. 2018
Hi,
transform a n-th order ode into a system of n 1st order ode's to solve it.
Matlab documentation example: https://de.mathworks.com/help/matlab/math/solve-nonstiff-odes.html
If you read this i guess you can quickly solve your problem.
2 Kommentare
Ebraheem Menda
am 30 Jun. 2021
Bearbeitet: Ebraheem Menda
am 30 Jun. 2021
In this case you have declared the name of the function and its output both with the same name 'fun'. That is the problem it seems.
NARSIRAM GURJAR
am 16 Sep. 2019
C:\Users\remst\Desktop\ode45.m
save this file with different name
0 Kommentare
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!