항공기 성능을 분석하기 위해 matlab 파일을 만들고 있습니다. 내가하고 싶은 것은 초과 전력이 최대이고 초과 전력이 최소가되는 곳을 보는 것입니다. 나는 matlab에 Clmax보다 더 많은 값을 고려하지 않을 수 있었다 (NaN
을 사용하여).
이제 과도한 힘에 대해서도 똑같이하고 싶습니다. 윤곽 플롯에 PS의 음수 값을 표시하고 싶지는 않습니다. 나는 나와 함께했던 것처럼 성공했지만 성공하지 못했습니다.Matlab에 음수 값이 표시되지 않습니다.
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가 0
이되는 sigma 및 v_temp 값을 찾습니다. 이것은 최대 순항 고도까지 나를 안내 할 것이다.
저는이 코드의 모든 내용을 인터넷에서 찾아보고 YouTube 영화를보고했습니다. 모든 의견은 크게 감사하겠습니다! 다른 주제에
data(indices_to_data_not_to_plot) = NaN;
surf(x,y,data); %# or whatever you're using
,하지만 난 서핑 대신 윤곽을 사용하는 것을 제외하고는, 작동하지 않는 내가하려고했던 것 같아요입니다 :이 발견했다.
'atmos'가 없으므로 예제가 작동하지 않습니다. NaN 할당을 비활성화하고 pastebin.com'disp (PS) '출력에 표시 할 수 있습니까? –
에 오신 것을 환영합니다! 여기에 여러 질문을하는 것 같습니다. 당신은 간단한 질문으로보다 나은 도움을 얻을 수 있고 가능한 한 짧게 실행할 수있는 코드가 필요합니다. 필요한 모든 데이터가 포함되어 있습니다. 한편, 'contour (x, y, data, [0 1.5 3])'와 같은 것은'data == 0, data == 1.5 '등에서 등고선을 만들 것입니다. 음수는 무시하지 않고 윤곽선을 표시하지 않습니다. 음수 값을 0으로 설정하는 것보다 낫습니다 (보간이 잘못 될 수 있습니다). 내 대답의 예를 참조하십시오 (자세한 정보를 제공 한 후 개선해야 함). – Floris
우리는시를 표시하지 않는 방법을 알아낼 수있었습니다. 고마워! 따뜻한 환영과 회신에 감사드립니다. 나는 disp (PS)를 내일 볼 것이다. 이미 이미 늦어졌다. :-)! 다시 한 번 감사드립니다! – user2437805