我必须解决这个问题
因为它是一个 DAE(我知道我可以将代入方程,但这只是一个示例,因为实际上我必须解决的问题是一个 DAE,而且比这更复杂)。当我使用并将问题视为二阶微分方程时,图 Vs. _ode45
但是当我将其视为 DAE 时,图表完全不同,我不明白为什么。这是我的代码:
ode45二阶微分方程
function yp = dae_normale(t,y)
yp = zeros(2,1);
yp(1) = y(2);
yp(2) = 4*y(2) + 1/(5*y(2) - 2*y(1) ) - 7*y(1);
ode45二阶微分方程运行
[t,y] = ode45('dae_normale',[1,5],[1,1]);
[t,y(:,1)]
plot(t,y(:,1))
DAEode15s
function out = dae(t,y)
out = [y(2)
4*y(2) + 1/y(3) - 7*y(1)
y(3) - 5*y(2) + 2*y(1) ];
DAEode15s 运行
y0 = [1; 1; 3];
M = [1 0 0; 0 1 0; 0 0 0];
options = odeset('Mass',M);
[t,y] = ode15s(@dae,[1 5],y0,options);
[t,y(:,1)]
plot(t,y(:,1))
