24小时热门版块排行榜    

查看: 273  |  回复: 1

xuanshan

新虫 (初入文坛)

[求助] 程序问题 已有1人参与

function dy=rigid(t,y)
a=0.06;%轮胎的接地印迹长度
w=63;%轮胎的转速
R=0.317;%轮胎半径
u=1;%外界风速
ls=1.293;%空气密度
lg=2.5*10^3;%磨粒密度
d=10^(-5);%磨粒直径
g=9.806;%重力加速度
m=1.79*10^(-6);%空气动力粘度
k1=3*ls/(4*lg*d);
g1=(1-ls/lg)*g;
dy=zeros(4,1);%一个列向量
V=sqrt(y(2)^2+y(4)^2);
U=w*sqrt(R^2-(y(1)^2+y(3)^2));
Re1=ls*d*abs(u-V)/m;
Re2=ls*d*abs(U-V)/m;
Cd1=24*(1+0.0975*Re1-0.636*Re1^2)/Re1;
Cd2=24*(1+0.0975*Re2-0.636*Re2^2)/Re2;
k2=3*Cd2*ls/(4*lg*d);
dy(1)=y(2);
dy(3)=y(4);
dy(2)=k1*(Cd1*(u-y(2))^2+Cd2*(w*(y(1)-a)/(sqrt(R^2-((y(1)-a)^2+(y(3)+sqrt(R^2-a^2))^2))+y(2))^2));
dy(4)=-g1+k2*(w*(y(3)+sqrt(R^2-a^2))/sqrt(R^2-((y(1)-a)^2+(y(3)+sqrt(R^2-a^2))^2)+y(4))^2);
dy=[dy(1) dy(2) dy(3) dy(4)]';
end
这是我的程序代码,但是在运算的时候出现下列情况
tspan=linspace(0,1.5,1000);
[T Y]=ode23s(@rigid,tspan,[0 19.6 0 3.87]);
Warning: Failure at t=7.361808e-06.  Unable to meet integration tolerances without reducing the step size below the smallest value
allowed (2.615440e-20) at time t.
> In ode23s at 402
麻烦哪位大神给指导一下,谢谢!
回复此楼

» 猜你喜欢

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

512095518

专家顾问 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
应该是你的常微分方程组四个解写得有问题吧,估计是太过于复杂才导致ode23求解不了。直接用数值会好一些。或是你试下ode45看看。具体你还需要自己去查下类似的方程该怎么写。

下面是我用过的供你参考,其中a-n都是参数,都是提前算好的。
function dx = hanshu(t, x)
global a b c d e f g h i j k m l n
         dx = zeros(4,1);
         dx(1) = a + b*x(3) + c*x(2) - d*x(1);
         dx(2) = e + f*x(1) + g*x(3) + h*x(4) - i*x(2);
         dx(3) = j + k*x(1) - l*x(3);
         dx(4) = m*x(2) - n*x(4);
end
没有极限,只有超越!
2楼2015-10-14 15:31:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xuanshan 的主题更新
信息提示
请填处理意见