作业帮 > 综合 > 作业

急,matlab 这是一个球体在空中飞行受空气阻力和气压升力的模型,输出的图形应该是抛物线,但是我拿MATLAB怎么也做

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 23:15:32
急,matlab
这是一个球体在空中飞行受空气阻力和气压升力的模型,输出的图形应该是抛物线,但是我拿MATLAB怎么也做不出来这个图,求大神帮我看下我的程序,或者帮我写写程序(最好有注释)
Y1是Y轴,Y2是Y轴的速度,Y3是Z轴,Y4是Z轴的速度
m,b,c是参变量,y2和y4是初始速度
我的程序如下:
定义函数
function factor = route (t,y,m,b,c)
factor = [y(2);(-b)/m*sqrt(y(2)^2+y(4)^2)*y(2)+c/m*y(4);y(4);(-9.8)-b/m*sqrt(y(2)^2+y(4)^2)*y(4)-c/m*y(2)];
控制台:
m=0.43;
>> b=0.0114;
>> c=0.714;
[t,y] = ode45(@(t,y) route(t,y,m,b,c),[0 2.05],[0 10 0 10]);
这是微分方程组
将下面所有的内容(当然除了这一行之外)复制到“新建的m文件”,F5运行即可
function matlab100000198914
% 这是一个球体在空中飞行受空气阻力和气压升力的模型,输出的图形应该是抛物线,但是我拿MATLAB怎么也做不出来这个图,求大神帮我看下我的程序,或者帮我写写程序(最好有注释)
% Y1是Y轴,Y2是Y轴的速度,Y3是Z轴,Y4是Z轴的速度
% m,b,c是参变量,y2和y4是初始速度
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5 1e-5]);
[T,Y] = ode45(@factor,[0 2],[0 0 0 0],options);
plot(T,Y(:,1),'-r',T,Y(:,2),'-.g',T,Y(:,3),'.b',T,Y(:,4),'-om');
h = legend('y1','y2','y3','y4',3);
function dy = factor(t,y)
dy = zeros(4,1); % a column vector
m=0.43; b=0.0114; c=0.714;
dy = [y(2);
-b/m*sqrt(y(2)^2+y(4)^2)*y(2)+c/m*y(4);
y(4);
(-9.8)-b/m*sqrt(y(2)^2+y(4)^2)*y(4)-c/m*y(2)];
再问: 十分感谢,但是还是觉得有点问题啊,Y1是Y轴,Y2是Y轴的速度,Y3是Z轴,Y4是Z轴的速度,但是这个图完全不对啊,Y2一开始是增长的,有问题啊,这个方程是我从一篇论文上抄下来的,后面的图像不是这样的啊。http://www.docin.com/p-98159765.html (P16)