计算医院病房适合病人的pmv的matlab程序
时间: 2023-12-03 20:47:19 浏览: 33
以下是一个简单的MATLAB程序,可以计算医院病房内的PMV值:
```
%输入参数
ta = input('请输入室温(单位:摄氏度):');
tr = input('请输入平均辐射温度(单位:摄氏度):');
vel = input('请输入空气速度(单位:米/秒):');
rh = input('请输入相对湿度(单位:百分比):');
met = input('请输入代谢当量(单位:W/m2):');
clo = input('请输入服装热阻(单位:m2K/W):');
%计算PMV值
pmv = Predicted_Mean_Vote(ta,tr,vel,rh,met,clo);
%输出结果
disp(['病房内的PMV值为:',num2str(pmv)]);
function pmv = Predicted_Mean_Vote(ta,tr,vel,rh,met,clo)
%输入参数
% ta :空气温度,单位℃
% tr :平均辐射温度,单位℃
% vel:空气速度,单位m/s
% rh :相对湿度,单位%
% met:代谢当量,单位W/m2
% clo:服装热阻,单位m2K/W
%输出参数
% pmv:平均预测值
%物理常数
SBC = 0.0000000567; %Stefan-Boltzmann常数
Icl = 0.155; %人体表面面积与体重的比值
Fcl = 1.00 + 0.15 * clo; %服装表面面积与体重的比值
M = met / 58.15; %代谢率,单位met
W = 1.0; %人体质量,单位kg
ICN = 0.45; %常规室内空气质量
%中间变量计算
tcl = tr + 0.5 * (ta - tr) * (0.1 + Fcl);
p1 = 3.96 * 10^(-8) * fcl() * (tcl^4 - (tr)^4);
p2 = fcl() * hc() * (ta - tcl);
p3 = 0.303 * exp(-0.036 * M) + 0.028;
pmv = p3 * (M - p1 - p2 - SBC * Fcl * (tcl^4 - (ta)^4) - W * Icl * (1.00 - 0.01 * rh) - 3.05 * 0.001 * (5733 - 6.99 * (M - p1 - p2) - rh * (0.42 * (M - p1 - p2) - 58.15))) / (M * 58.15);
function val = fcl()
%计算服装表面面积与体重的比值
if clo <= 0.078
val = 1 + 1.29 * clo;
else
val = 1.05 + 0.645 * clo;
end
end
function val = hc()
%计算对流换热系数
if vel < 0.1
val = 2.1 + 0.1 * vel;
elseif vel < 0.2
val = 3.05 + 0.065 * (vel - 0.1);
else
val = 1.7 + 0.55 * (vel^0.5);
end
end
end
```
请注意,该程序只是一个简单的示例程序,可能无法考虑所有因素。在实际使用中,需要根据具体情况进行调整和修改。