ODE45 for a second order differential equation
172 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Torsten
2018 年 4 月 23 日
[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 件のコメント
その他の回答 (2 件)
Stephan
2018 年 4 月 22 日
編集済み: Stephan
2018 年 4 月 22 日
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 件のコメント
Ebraheem Menda
2021 年 6 月 30 日
編集済み: Ebraheem Menda
2021 年 6 月 30 日
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
2019 年 9 月 16 日
C:\Users\remst\Desktop\ode45.m
save this file with different name
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!