ode15s differential-algebraic problem
20 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Torsten
on 10 Nov 2016
Edited: Torsten
on 10 Nov 2016
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 Comments
More Answers (1)
Torsten
on 10 Nov 2016
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 Comments
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!