这段 MATLAB 代码用于生成一幅图,展示不同场景下温室加热系统的能量使用、光合有效辐射(PAR)、产量和能量效率。该图用于论文中的图5,论文标题为《Heating greenhouses by light: A novel concept for intensive greenhouse production》,发表在《Biosystems Engineering》期刊上。
代码的主要功能如下:
1. 数据收集:
-
outputFolder
:指定存储模拟输出数据的文件夹路径。 -
files
:读取outputFolder
文件夹中的所有文件(跳过前两个系统文件.
和..
)。 -
heatByLightSummary
:初始化一个空单元格数组,用于存储每个文件的能量使用、PAR、产量和能量效率数据。 -
循环处理文件:
-
使用
for
循环遍历每个文件。 -
加载文件中的数据(
gl
结构体)。 -
调用
energyYieldAnalysis
函数计算以下指标:-
lampIn
:灯具输入能量。 -
boilIn
:锅炉输入能量。 -
hhIn
:热回收系统的电力输入。 -
parSun
:来自太阳的光合有效辐射(PAR)。 -
parLamps
:来自灯具的光合有效辐射(PAR)。 -
yield
:产量(kg/m²/year)。 -
efficiency
:能量效率(MJ/kg)。
-
-
对文件名进行处理,生成标签(
label
),用于后续图例。 -
将文件名、能量输入、PAR、产量、能量效率和标签存储在
heatByLightSummary
中。 -
计算并存储温室内平均 CO₂ 浓度(
mean(gl.a.co2InPpm)
)。
-
-
重新排序:对
heatByLightSummary
中的数据进行重新排序,以便在图中按特定顺序显示。
2. 绘图:
-
颜色定义:使用
lines()
函数生成一组颜色。 -
标签处理:修改部分标签(例如将第二个标签改为
'N HS'
)。 -
生成四幅子图:
-
能量输入:
-
使用
bar
函数绘制堆叠柱状图,显示灯具输入、锅炉输入和热回收系统的电力输入。 -
设置 y 轴标签为“能量输入(MJ/m²/year)”。
-
设置 x 轴刻度和标签。
-
设置 y 轴范围为
[0, 4000]
。 -
添加图例,标识“灯具输入”、“锅炉输入”和“热回收系统的电力输入”。
-
修改部分 x 轴标签(例如
'N B'
,'N B HS'
,'L B 200'
)。 -
添加标题“A”。
-
-
光合有效辐射(PAR):
-
使用
bar
函数绘制堆叠柱状图,显示来自太阳和灯具的 PAR。 -
设置 y 轴标签为“冠层上方的 PAR(mol/m²/year)”。
-
设置 x 轴刻度和标签。
-
设置 y 轴范围为
[0, 18000]
。 -
添加图例,标识“来自太阳的 PAR”和“来自灯具的 PAR”。
-
修改部分 x 轴标签。
-
添加标题“B”。
-
-
产量:
-
使用
bar
函数绘制柱状图,显示产量。 -
设置 y 轴标签为“产量(kg/m²/year)”。
-
设置 x 轴刻度和标签。
-
设置 y 轴范围为
[0, 180]
。 -
添加图例,标识“产量”。
-
修改部分 x 轴标签。
-
添加标题“C”。
-
-
能量效率:
-
使用
bar
函数绘制柱状图,显示能量效率。 -
设置 y 轴标签为“单位产品的能量输入(MJ/kg)”。
-
设置 x 轴刻度和标签。
-
设置 y 轴范围为
[0, 25]
。 -
添加图例,标识“单位产品的能量输入”。
-
修改部分 x 轴标签。
-
添加标题“D”。
-
-
代码的输出:
-
该代码生成四幅子图,分别展示:
-
能量输入:灯具、锅炉和热回收系统的能量输入。
-
光合有效辐射(PAR):来自太阳和灯具的 PAR。
-
产量:温室作物的年产量。
-
能量效率:单位产品的能量输入。
-
代码的用途:
-
该代码用于分析不同场景下温室加热系统的性能,包括能量使用、光合有效辐射、产量和能量效率。通过可视化这些数据,研究人员可以评估不同加热策略的效果,并为温室加热系统的设计和优化提供依据。
代码中的关键变量:
-
heatByLightSummary
:存储每个文件的文件名、能量输入、PAR、产量、能量效率和标签。 -
lampIn
:灯具输入能量。 -
boilIn
:锅炉输入能量。 -
hhIn
:热回收系统的电力输入。 -
parSun
:来自太阳的 PAR。 -
parLamps
:来自灯具的 PAR。 -
yield
:产量。 -
efficiency
:能量效率。 -
label
:场景标签,用于 x 轴的显示。
代码的依赖:
-
energyYieldAnalysis
函数:该函数用于计算能量输入、PAR、产量和能量效率。代码中未给出该函数的定义,可能是作者自定义的函数。
总结:
这段代码主要用于生成四幅子图,展示不同场景下温室的能量使用、光合有效辐射、产量和能量效率。通过可视化这些数据,研究人员可以评估不同加热策略的效果,并为温室加热系统的设计和优化提供依据。