非法使用保留关键字 "if"。
Show older comments
代码如下:(标红部分非法使用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
Accepted Answer
More Answers (0)
Categories
Find more on MATLAB 快速入门 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!