查看: 1479  |  回复: 1

allengjn

新虫 (正式写手)

[求助] 为什么我使用ode45计算一个二阶微分方程,计算结果与时间终点会有关系?

我使用ode45计算一个二阶微分方程
计算程序d1=0;d2=1;
[t,y]=ode45('equation',0:0.000001:0.000152,[d1,d2]);

调用函数function dy=equation(t,y)
E=2.07e11;
v=0.3;
r1=0.01;r2=0.0095;m=1;c=0.9;yy=-1;
t
dy=[y(2);%这里是y的一阶导
    -(4*E/(3*2*(1-v^2))*(r2*r1/(r1-r2))^0.5*y(1)^1.5)/m;];
end

计算中ode45的计算时间如果小于0.000151s,计算出的结果都是实数,如果大于0.000151在第128步的时候计算结果就会变成复数,这是为什么?

为什么我使用ode45计算一个二阶微分方程,计算结果与时间终点会有关系?
1.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

诒哲

新虫 (初入文坛)

请问楼主解决这个问题了吗,我也碰到了
2楼2019-05-04 22:49:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 allengjn 的主题更新
信息提示
请填处理意见