24小时热门版块排行榜    

查看: 918  |  回复: 1

lvyongxi126

新虫 (初入文坛)

[求助] ode45参数问题

各位好,我编的数值微分方程画图函数如下
function dy=equation0102(t,y,m,n,p,q);
dy=zeros(6,1);
dy(1)=300;
dy(2)=0;
dy(3)=(-300)*sin(y(3))/(y(4));
dy(4)=-450+300*cos(y(3));
dy(5)=450*cos(y(3));
dy(6)=450*sin(y(3));
m=y(1);
n=y(2);
p=y(5);
q=y(6);
主函数:
r0=4000;
q0=pi/3;
Vm=450;
Vt=300;
Xt0=r0*cos(q0);
Yt0=r0*sin(q0);
[t,y]=ode45('equation0102',[0 20],[Xt0 Yt0 q0 r0 0 0]);
plot(y(:,1),y(:,2),'-b');hold on;
plot(y(:,5),y(:,6),'-r');
我想控制当sqrt((y(1)-y(5))^2+(y(2)-y(6))^2)>0.1时停止,这个如何来控制?非常想知道做法,谢谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvyongxi126

新虫 (初入文坛)

不好意思,第一行代码放错了
应该是function dy=equation0102;
2楼2012-12-20 21:21:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lvyongxi126 的主题更新
信息提示
请填处理意见