ode15s differential-algebraic problem
21 ビュー (過去 30 日間)
古いコメントを表示
Hi. I have to solve

and

but I do not get the solution I was supposed to. Could you please tell me if my code is correct? Thank you.
convezione.m file
function out = convezione(t,y)
out = [y(2)
1/y(1)*(-1.5*y(2)^2 + y(2)/y(3) + sin(t))
1/y(1)*((y(2)/y(3))^(1/3) + y(2)/y(3)) - y(3) ];
runconv.m file
function runconv
y0 = [1; 1; 1];
[t,y] = ode15s(@convezione,[0 10],y0);
plot(t,y(:,1))
0 件のコメント
採用された回答
Torsten
2016 年 11 月 10 日
編集済み: Torsten
2016 年 11 月 10 日
Try
function out = convezione(t,y)
out = [y(2)
1/y(1)*(-1.5*y(2)^2 + y(2)/y(3) + sin(t))
1/y(1)*((y(2)/y(3))^(1/3) + y(1)/y(3)) - y(3) ];
function runconv
y0 = [1; 1; 1.3247^1.5];
[t,y] = ode15s(@convezione,[0 10],y0);
plot(t,y(:,1))
Best wishes
Torsten.
0 件のコメント
その他の回答 (1 件)
Torsten
2016 年 11 月 10 日
Sorry, the code was wrong.
Use
function out = convezione(t,y)
out = [y(2)
1/y(1)*(-1.5*y(2)^2 + y(2)/y(3) + sin(t))
1/y(1)*((y(2)/y(3))^(1/3) + y(1)/y(3)) - y(3) ];
function runconv
y0 = [1; 1; 1.3247^1.5];
M = [1 0 0; 0 1 0; 0 0 0];
options = odeset('Mass',M);
[t,y] = ode15s(@convezione,[0 10],y0,options);
plot(t,y(:,1))
Best wishes
Torsten.
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!