作业帮 > 综合 > 作业

Matlab程序为什么运行后图像为空白

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/29 18:09:17
Matlab程序为什么运行后图像为空白
function shiya1
B=pi/6;
h=15000;
V=472.12;
s=1.94;
g=9.8;
alpha=2*pi/180;
a=340;
Ma=[1.5 2.0 2.5 3.0 3.5 4.0];
Cxx=[0.046 0.0395 0.0335 0.029 0.025 0.0225];
for i=0:0.1:2;
P=40159.35;
m=2022-219.45*i;
rou=1.225*exp(-0.000115*h);
M=V/a;
Cx=interp1(Ma,Cxx,M);
X=0.5*rou*V*V*s*Cx*alpha;
e1=(P*cos(alpha)-X-m*g*sin(B))*0.1/m;
V=V+e1;
plot(i,V,'o');
hold on;
end
B=pi/6;
h=15000;
V=472.12;
s=1.94;
g=9.8;
alpha=2*pi/180;
a=340;
Ma=[1.5 2.0 2.5 3.0 3.5 4.0];
Cxx=[0.046 0.0395 0.0335 0.029 0.025 0.0225];
%如果你的代码没问题的话,下面几行的值都是固定的,你放在循环里
%干什么,另外建议你把函数去掉,直接以脚本形式运行代码,这样会在
%工作空间显示变量的值,你就会发现你为什么画不出图了,因此变量
%根本是NAN值,怎么绘画出来
P=40159.35;
M=V/a;
rou=1.225*exp(-0.000115*h);
Cx=interp1(Ma,Cxx,M);
X=0.5*rou*V*V*s*Cx*alpha;
for i=0:0.1:2;
m=2022-219.45*i;
e1=(P*cos(alpha)-X-m*g*sin(B))*0.1/m;
V=V+e1;
plot(i,V,'o');
hold on;
end
再问: 你说的很对,但是循环里的不能拿出去,因为M要随循环改,而Cx也要重新插值。以脚本形式运行代码也画不出来,是哪里出问题了呢?
再答: clc B=pi/6; h=15000; V=472.12; s=1.94; g=9.8; alpha=2*pi/180; a=340; Ma=[1.5 2.0 2.5 3.0 3.5 4.0]; Cxx=[0.046 0.0395 0.0335 0.029 0.025 0.0225]; P=40159.35; rou=1.225*exp(-0.000115*h); for i=0:0.1:0.2 m=2022-219.45*i; M=V/a%M第一个值为1.3886,但是Ma最小的值1.5大于他,所以 Cx=interp1(Ma,Cxx,M)%插值无法得到Cx,即Cx=NAN,所以画不出图 X=0.5*rou*V*V*s*Cx*alpha e1=(P*cos(alpha)-X-m*g*sin(B))*0.1/m V=V+e1 plot(i,V,'o'); hold on; end