Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2010-09-13
帖子: 3
声望力: 0 ![]() |
![]()
我用ode函数解方程组 时间设为【0,20】,但方程解到0.0048s就解不下去了,提示如下:
Warning: Failure at t=4.775313e-003. Unable to meet integration tolerances without reducing the step size below the smallest value allowed (1.696532e-017) at time t. 原方程为:function dx=wei(t,x); global kv sf v2 u a b m iz k1 k2 pz1 pz2 v1 u2 o1=x(1)+a*x(2)/u-sf; o2=x(1)-b*x(2)/u; oi1=k1*tan(o1)/(pz1*u2); oi2=k2*tan(o2)/(pz2*u2); fy1=pz1*u2*(oi1-oi1*oi1/3+oi1^3/27); fy2=pz2*u2*(oi2-oi2*oi2/3+oi2^3/27); dx(1)=(((fy1+kv*v1)*cos(sf)+(fy2+kv*v2))/m-u*x(2))*u; dx(2)=(a*(fy1+kv*v1)*cos(sf)-b*(fy2+kv*v2))/iz; dx=[dx(1);dx(2)]; ode程序为:hold on;global kv sf v2 u a b m iz k1 k2 pz1 pz2 v1 u2 kv=5000;sf=0.0872;v2=0.0174;u=100*1000/3600;a=1.84;b=1.88;m=3018;iz=10437;k1=23000;k2=38000;pz1=1500*9.8;pz2=1518*9.8;v1=0.003;u2=0.8; N=200; Tn=[]; options=odeset('RelTol',1e-4); x0=[0,0]; [t,x]= ode15s('wei',[0,10],x0,options); ode45 ode15我都试过了 都不行 时间步长改为0:0.0001:20也不行,RelTol改小也不行,原方程组没错,希望大家多指点,急啊。 |
![]() |
![]() |