试图解决下面显示的微分方程
function dr = ball(t,b)
T2 = 1;
T1 = T2/2;
d = 0;
R = 0.2;
dr = zeros(3,1);
dr(1) = (-1/T2)*b(1)-d*b(2);
dr(2) = (-1/T2)*b(2) + d*b(1) + R*b(3);
dr(3) = (-1/T1)*b(3) - R*b(2) ;
end
我是用ode45做的。现在我想这样做,我的R不是t的函数。我如何将其纳入微分方程设置。
答案 0 :(得分:2)
您可以使用t
输入,它为您提供当前时间步长,并将R
定义为您想要的任何内容。
function dr = ball(t,b)
T2 = 1;
T1 = T2/2;
d = 0;
R = sin(t); %// for example
dr = zeros(3,1);
dr(1) = (-1/T2)*b(1)-d*b(2);
dr(2) = (-1/T2)*b(2) + d*b(1) + R*b(3);
dr(3) = (-1/T1)*b(3) - R*b(2) ;
end