这段 MATLAB 代码用于创建模拟温室中能量通量的条形图,特别考虑了 热量调整(Heat Adjustment) 的影响。热量调整是指在 LED 灯开启时,调整空气温度设定值以补偿 LED 灯的低辐射热量。以下是代码的详细解释:
1. 代码背景
-
代码的目的是可视化温室中不同照明系统(HPS 和 LED)的能量通量,并分析热量调整对能量使用的影响。
-
代码生成的图形用于论文中的 Figure 8,论文标题为:
Katzin, D., Marcelis, L. F. M., & van Mourik, S. (2021). Energy savings in greenhouses by transition from high-pressure sodium to LED lighting. Applied Energy, 281, 116019. https://doi.org/10.1016/j.apenergy.2020.116019
2. 文件路径设置
-
currentFile
和currentFolder
用于获取当前脚本的路径。 -
outputFolder
是存储默认模拟输出数据的文件夹路径。 -
heatAdjFolder
是存储热量调整模拟输出数据的文件夹路径。 -
使用
strrep
函数替换路径中的部分字符串,以确保路径正确。
3. 加载数据
-
使用
load
函数加载三个模拟输出文件:-
ams_hps_referenceSetting.mat
:高压力钠灯(HPS)的默认模拟数据。 -
ams_led_referenceSetting.mat
:LED 灯的默认模拟数据。 -
ams_led_heatAdjustment.mat
:LED 灯在热量调整条件下的模拟数据。
-
-
加载的数据分别存储在
hps
、led
和ledTempAdj
变量中。
4. 绘图参数
-
offset
是一个偏移量,用于调整条形图上数值标签的位置。 -
plotBars
函数用于绘制能量通量的条形图。
5. 能量分析
-
energyAnalysis
函数用于分析能量输入和输出:-
输入能量(
in
):包括太阳辐射(sunIn
)、加热(heatIn
)和灯光(lampIn
)。 -
输出能量(
out
):包括蒸腾作用(transp
)、土壤对流(soilOut
)、通风(ventOut
)、覆盖层对流(convOut
)、天空辐射(firOut
)和灯光冷却(lampCool
)。
-
-
对输出能量进行重新排序,以便在条形图中以特定顺序显示。
6. 绘制条形图
-
barh
函数用于绘制水平条形图,展示不同能量通量的贡献。 -
条形图分为六组:
-
LED 热量调整条件下的输出能量(
LED TA outgoing
)。 -
LED 默认条件下的输出能量(
LED outgoing
)。 -
HPS 默认条件下的输出能量(
HPS outgoing
)。 -
LED 热量调整条件下的输入能量(
LED TA incoming
)。 -
LED 默认条件下的输入能量(
LED incoming
)。 -
HPS 默认条件下的输入能量(
HPS incoming
)。
-
-
yticklabels
函数用于设置 Y 轴标签。
7. 添加图例和数值标签
-
legend
函数用于添加图例,说明每种颜色代表的能量类型。 -
text
函数用于在条形图上添加数值标签,显示每个能量通量的具体数值。 -
numFormat
用于设置数值标签的显示格式。
8. 图形设置
-
axis
函数用于设置坐标轴范围。 -
xlabel
函数用于添加 X 轴标签。 -
grid
函数用于添加网格线。
9. 颜色设置
-
set
函数用于设置每个条形图的颜色,以便区分不同的能量类型。
10. 代码的主要用途
-
代码的主要用途是分析和可视化温室中不同照明系统(HPS 和 LED)在默认条件和热量调整条件下的能量通量。
-
通过比较 HPS、LED 默认和 LED 热量调整条件下的能量通量,可以评估热量调整对温室能量使用的影响,特别是 LED 灯在节能方面的潜力。
11. 输出
-
最终生成的图形展示了 HPS、LED 默认和 LED 热量调整条件下的能量通量,包括输入和输出的能量类型及其数值。
总结
这段代码是温室能量管理研究中的重要工具,通过可视化能量通量,帮助研究人员理解不同照明系统和热量调整策略对温室能量使用的影响。代码的结构清晰,功能明确,适用于类似的研究场景。