背景:为喷水射流轨迹建模,x(1)初始速度,x(2)俯仰角度,x(3)射程,x(4)射高;
预期如下图:
现状:除了45°等寥寥无几的角度,其他射流轨迹都在二、三、四象限,解还带复数。
具体代码如下:Any thoughts would be appreciated!
定义函数
function dx = myfunc2226(t,x)
dx = zeros(4,1);
p=1.225;g=9.8;A0=0.00099;a=3.8;m=0.0503;
F=0.5*p*x(1)^2*A0*(1+a*log(1+x(3)))*0.15;
dx(1)=-F/m-g*sin(x(2));
dx(2)=-g*cos(x(2))/x(1);
dx(3)=x(1)*cos(x(2));
dx(4)=x(1)*sin(x(2));
end
运行ode45
x0=[50.81,30,0,0]; %这里的第二个参数是θ 俯仰角度,设置为45°,则可以正常得到一个第一象限的曲线,但是30°的轨迹就在第四象限
[t,x]=ode45('myfunc2226',[0,8],x0);
n=size(x,1)
plot(x(1:n,3),x(1:n,4),'-'); |