Solving ODE in MATLAB with pre-defined steps
12 ビュー (過去 30 日間)
古いコメントを表示
Hello,
I would like to solve an ordinary differential equations (ODE) with a specfic step using the command ode45. The equation has a range between 0 and 2.75 and the intial condition is 1
F=@(R,t)((R/t_a)*((CFS(1,i))/(0.25*taw_0)-R))
[t,R]=ode45(F, [0 2.75], 1)
In this case, Matlab provides a set of values (41 values). For example, t is a set of values range between 0 and 2.75.
How can I specify that I do not want random values of t in the ODE? Here, I want t to range between 0 and 2.75 but I want a step size of 0.25
Thanks,
0 件のコメント
回答 (2 件)
Star Strider
2022 年 10 月 22 日
‘How can I specify that I do not want random values of t in the ODE? Here, I want t to range between 0 and 2.75 but I want a step size of 0.25’
Create ‘tspan’ as a vector of more than two elements.
Specifically —
tspan = 0 : 0.25 : 2.75
Then use that for the ‘tspan’ argument.
The ordinary differential equations integrators will work adaptively as usual, however they will only report results at those times.
.
0 件のコメント
Torsten
2022 年 10 月 22 日
You can't choose the step size of ODE45 because the solver adapts the step size internally. You can only choose the output times by setting the variable "tspan".
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!