ode15s differential-algebraic problem
20 次查看(过去 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 个评论
采纳的回答
更多回答(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!