我正在制作一个 matlab 文件来分析飞机的性能。我想要做的是查看多余功率最大的位置以及多余功率最小的位置。我能够使 matlab 不考虑超过 Clmax 的值(通过使用NaN
)。
现在我想对多余的功率做同样的事情:我不希望我的等高线图显示 PS 的负值。我尝试像使用 Cl 一样做同样的事情,但没有成功。
这是到目前为止的代码:
TA= 667233.2;
W=228000;
S=360;
CDO=0,02;
b=60;
AR=10;
h=0;
v= [60:10:350]
hoogte= [0:1000:17000]
%TEST
for j=1:length(hoogte)
hoogte_temp = hoogte(j)
[rho c] = Atmos(hoogte_temp)
sigma= rho/1.225
for i= 1:length(v)
v_temp = v(i);
q= rho*v_temp*v_temp/2
cl(i,j) = W*9.81/S/q
if (cl<1.91)
cd(i,j) = 0.02 + cl(i,j)^2/(AR*3.14*0.8)/beta(i)
D(i,j)= cd(i,j)*q*S
PS(i,j)=(TA*sigma-D(i,j))*v_temp/(W*9.81)
else %als Cl groter is dan 1,91: niet weergeven, ook niet Cd, D en ook niet Ps
cl(cl>1.91) = NaN;
cd(i,j)= NaN;
D(i,j)=NaN;
PS(i,j)=NaN;
end
if(v_temp/c<1)
beta(i)=sqrt(1-(v_temp/c)^2)
else
beta(i) = NaN
end
cd(i,j) = 0.02 + cl(i,j)^2/(AR*3.14*0.8)/beta(i)
D(i,j)= cd(i,j)*q*S
PS(i,j)=(TA*sigma-D(i,j))*v_temp/(W*9.81)
end
我想只添加另一个if (PS<0)
或什if PS<=D
PS=NaN
至,但如果我重新运行程序并查看图表,这似乎不起作用。
该atmos.m
文件是我在大气及其属性(如温度、高度和密度)变化的地方制作的文件。
我现在要做的:
取消负的 PS 值,并找到 PS 变为 的 sigma 和 v_temp 值0
。这将导致我达到最大巡航高度。
我是 matlab 新手,这段代码中的所有内容都是通过在互联网上查找和查看 youtube 电影来完成的。任何反馈将不胜感激!我找到了这个:
data( indices_to_data_not_to_plot ) = NaN;
surf(x,y,data); %# or whatever you're using
在另一个主题中,但我猜这是我尝试过的东西,它不起作用,除了我使用轮廓而不是冲浪。