ode15s differential-algebraic problem
20 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Marco Sammito
am 9 Nov. 2016
Beantwortet: Torsten
am 10 Nov. 2016
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 Kommentare
Akzeptierte Antwort
Torsten
am 10 Nov. 2016
Bearbeitet: Torsten
am 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 Kommentare
Weitere Antworten (1)
Torsten
am 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 Kommentare
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!