这段 MATLAB 代码用于绘制 冬季和夏季 温室模拟中的 时间轨迹,包括温室控制、CO₂ 浓度、温度和太阳辐射的变化。以下是代码的详细解释:
1. 代码背景
-
代码的目的是可视化冬季和夏季温室模拟中的时间轨迹,帮助研究人员比较 HPS(高压钠灯)和 LED(发光二极管)温室的表现。
-
代码生成的图形用于论文中的 Figure 11,论文标题为:
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
是存储模拟输出数据的文件夹路径。 -
使用
strrep
函数替换路径中的部分字符串,以确保路径正确。
3. 加载数据
-
使用
load
函数加载两个模拟输出文件:ams_hps_referenceSetting.mat
和ams_led_referenceSetting.mat
。 -
加载的数据分别存储在
hps
和led
变量中。
4. 选择日期
-
winterDay
和summerDay
分别表示冬季和夏季的某一天。日期是从 9 月 27 日(生长季节的开始)开始计算的。 -
代码中选择了 1 月 21 日(冬季)和 7 月 15 日(夏季)作为示例日期。
5. 截取数据
-
使用
cutTime
函数从全年数据中截取特定日期的数据。 -
hpsWin
和ledWin
是冬季某一天的 HPS 和 LED 数据。 -
hpsSum
和ledSum
是夏季某一天的 HPS 和 LED 数据。
6. 颜色设置
-
使用 MATLAB 的默认颜色矩阵
lines
为不同曲线设置颜色。
7. 平滑处理
-
smoothFactor
:用于平滑数据的窗口大小。 -
xStart
和xEnd
:定义绘图的时间范围(从 1200 秒到 86400 秒,即从 0:20 到 24:00)。
8. 绘制图形
-
子图 1:冬季温室控制
-
绘制 HPS 和 LED 温室的照明和加热功率。
-
使用双 Y 轴显示屋顶开度。
-
添加标题、轴标签、图例和网格。
-
-
子图 2:夏季温室控制
-
绘制 HPS 和 LED 温室的照明和加热功率。
-
使用双 Y 轴显示屋顶开度。
-
添加标题、轴标签、图例和网格。
-
-
子图 3:冬季 CO₂ 浓度
-
绘制 HPS 和 LED 温室的 CO₂ 浓度和注入量。
-
使用双 Y 轴显示 CO₂ 注入量。
-
添加标题、轴标签、图例和网格。
-
-
子图 4:夏季 CO₂ 浓度
-
绘制 HPS 和 LED 温室的 CO₂ 浓度和注入量。
-
使用双 Y 轴显示 CO₂ 注入量。
-
添加标题、轴标签、图例和网格。
-
-
子图 5:冬季温度和太阳辐射
-
绘制 HPS 和 LED 温室的室内温度、加热设定点、通风设定点、室外温度和太阳辐射。
-
使用双 Y 轴显示太阳辐射。
-
添加标题、轴标签、图例和网格。
-
-
子图 6:夏季温度和太阳辐射
-
绘制 HPS 和 LED 温室的室内温度、加热设定点、通风设定点、室外温度和太阳辐射。
-
使用双 Y 轴显示太阳辐射。
-
添加标题、轴标签、图例和网格。
-
9. 代码的主要用途
-
该代码用于可视化冬季和夏季温室模拟中的时间轨迹,帮助研究人员比较 HPS 和 LED 温室的表现。
-
通过绘制温室控制、CO₂ 浓度、温度和太阳辐射的变化,可以分析不同季节和环境条件下温室的能耗和性能。
10. 示例输出
-
子图 1:冬季温室控制
-
子图 2:夏季温室控制
-
子图 3:冬季 CO₂ 浓度
-
子图 4:夏季 CO₂ 浓度
-
子图 5:冬季温度和太阳辐射
-
子图 6:夏季温度和太阳辐射
11. 总结
这段代码是温室模拟分析中的重要工具,通过可视化冬季和夏季的时间轨迹,帮助研究人员评估不同照明系统(HPS 和 LED)的能耗和性能。代码逻辑清晰,功能明确,适用于类似的研究场景。