非法使用保留关键字 "if"。
이전 댓글 표시
代码如下:(标红部分非法使用if,是哪里出错了呢?求指教)
clear all;clc
%% Variable definition
Clo=0.5;
M=1.2;
W=0;
Ta=22;
Tmrt=22; % 黑球温度?
va=0.1;
rh=60/100;
%% calculate
T= 273+Ta;
if((0<Ta < 200))
Ps=exp(-5800.2206/T+1.3914993+(-0.048640239)*T+(0.41764768e-4)*T*T+(-0.14452093e-7)*T*T*T+6.5459673*log(T)); %饱和水蒸气的饱和压力
else
Ps= exp(-5674.5359/T+6.3925247+(-0.9677843e-2)*T+(0.62215701e-6)*T*T+(0.20747825e-18)*T*T*T+(-0.9484024e-12)*T*T*T*T+4.1635019*log(T));
end
pa=Ps*rh; %当前温度下空气中水蒸气的分压力
%pa=rh*610.6*exp((17.26*Ta)/(273+Ta));
ICL=0.155*Clo; % 代谢水平的单位从Met转换为W/m2
Met=M*58.15;
RMW=Met-W;
% Calculate FCl Value
if(Clo<0.5)
FCL=1.0+0.2*Clo;
else
FCL=1.05+0.1*Clo; % Clothing Area Factor
end
HCF=12.1*(va)^0.5;
TaA=Ta+273;
TRA=Tmrt+273;
%%CALCULATE SURFACE TEMPERATURE OF CLOTHING BY ITERATION
TCLA=TaA+(35.5-Ta)/(3.5*(Clo+0.1));
P1=ICL*FCL;
P2=P1*3.96;
P3=P1*100;
P4=P1*TaA;
P5=308.7-0.028*RMW+P2*(TRA/100)*4;
XN=TCLA/100;
XF=XN;
nIterations=0;
Tolerance=0.000001; % Accuracy definition
while(abs(XN-XF)>Tolerance)
{
if(nIterations<150)
{
XF=(XF+XN)/2;
HCN=2.38*abs(100*XF-TaA)^0.25;
if(HCF>HCN)
HC=HCF;
else
HC=HCN;
end
XN=(P5+P4*HC-P2*XF^4)/(100+P3*HC);
nIterations=nIterations+1;
}
else
PMV1=999;
PPD=100;
end
}
end
TCL=100*XN-273;
%%HEAT LOSS COMPONENTS
HL1=3.05*0.001*(5733-6.99*RMW-pa);
HL2=0.0;
if(RMW>58)
HL2=0.42*(RMW-58);
end
HL3=1.7*0.00001*Met*(5867-pa);
HL4=0.0014*Met*(34-Ta);
HL5=3.96*FCL*(XN^4-(TRA/100)^4); %注意检查括号!!!!
HL6=FCL*HC*(TCL-Ta);
TS=0.303*exp(-0.036*Met)+0.028;
PMV1=TS*(RMW-HL1-HL2-HL3-HL4-HL5-HL6);
PPD=100-95*exp(-0.03353*PMV1^4-0.2179*PMV1^2);
PMVT=PMV1
PPDT=PPD
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 MATLAB 快速入门에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!