fig508HeatByLightFourDaysNoLamps脚本

这段 MATLAB 代码用于生成 温室在无灯具场景下的四天温度、遮阳幕、冷却、室外温度和太阳辐射 的图表,并绘制相应的曲线。以下是代码的详细解释:


1. 注释部分

  • 代码开头的注释说明了这段代码的用途:生成无灯具场景下的四天数据图表,用于绘制图5.8。

  • 该图来自于 David Katzin 的博士论文,论文研究了通过 LED 照明在温室中节能的方法。

  • 代码作者是 David Katzin,代码的最后更新日期是 2021 年 4 月。


2. 加载数据

  • outputFolder 定义了存储模拟输出文件的文件夹路径。

  • 加载两个模拟数据文件:

    • N-HH_ams_noLamp_hHarvest_day350_length350.mat:带有热回收的无灯具场景数据,存储在变量 nlhh 中。

    • N_ams_noLamp_day350_length350.mat:无热回收的无灯具场景数据,存储在变量 nl 中。


3. 颜色定义

  • cc = lines(); 生成一组默认的 MATLAB 颜色。

  • blue, red, yellow, purple, green 分别提取了 lines 颜色集中的前五种颜色,用于后续绘图。


4. 绘制图表

  • 使用 subplot 创建一个 3 行 1 列的图形布局,分别绘制温度、遮阳幕与冷却、室外温度与太阳辐射的曲线。

子图1:室内温度

  • subplot(3,1,1) 选择第一个子图。

  • 使用 plotMeans 绘制无热回收场景(nl)和有热回收场景(nlhh)的室内温度曲线:

    • plotMeans(nl.x.tAir,12,'LineWidth',0.5); 绘制无热回收场景的室内温度曲线。

    • plotMeans(nlhh.x.tAir,12,'--'); 绘制有热回收场景的室内温度曲线(虚线)。

    • plotMeans(nlhh.a.heatSetPoint-1,12); 绘制温度设定点曲线。

  • 设置 x 轴范围和刻度:

    • xlim([83*86400 87*86400]-3600) 设置 x 轴范围为第 83 天到第 87 天。

    • xticks((83*86400:86400:87*86400)-3600) 设置 x 轴刻度为每天的起始点。

    • xticklabels(datestr(350+(83:87),'dd/mm')) 将刻度标签设置为日期格式(日/月)。

  • 设置 y 轴范围和刻度:

    • ylim([17 24]) 设置 y 轴范围为 17°C 到 24°C。

    • yticks(18:2:26) 设置 y 轴刻度为 18°C 到 26°C,间隔为 2°C。

  • 添加图例、y 轴标签和 x 轴标签。

子图2:遮阳幕与冷却

  • subplot(3,1,2) 选择第二个子图。

  • 使用 plot 绘制无热回收场景(nl)和有热回收场景(nlhh)的遮阳幕闭合百分比曲线:

    • plot(100*nl.u.thScr,'LineWidth',0.5); 绘制无热回收场景的遮阳幕闭合百分比曲线。

    • plot(100*nlhh.u.thScr,'--'); 绘制有热回收场景的遮阳幕闭合百分比曲线(虚线)。

  • 设置 y 轴范围和标签:

    • ylim([0 150]) 设置 y 轴范围为 0% 到 150%。

    • ylabel('Thermal screen closure (%)') 设置 y 轴标签。

  • 使用 yyaxis right 切换到右侧 y 轴,绘制有热回收场景的冷却功率曲线:

    • plot(nlhh.a.hAirMech+nlhh.a.lAirMech); 绘制冷却功率曲线。

  • 设置右侧 y 轴范围和标签:

    • ylim([0 80]) 设置 y 轴范围为 0 W/m² 到 80 W/m²。

    • ylabel('Cooling N HH (W m^{-2})') 设置 y 轴标签。

  • 设置 x 轴范围和刻度,添加图例和 x 轴标签。

子图3:室外温度与太阳辐射

  • subplot(3,1,3) 选择第三个子图。

  • 使用 plot 绘制室外温度曲线:

    • plot(nl.d.tOut,'Color',blue) 绘制室外温度曲线。

    • plot([83*86400 87*86400]-3600,[5 5],'--','Color',blue) 绘制室外温度阈值线(5°C)。

  • 设置 y 轴范围和标签:

    • ylim([-2 12]) 设置 y 轴范围为 -2°C 到 12°C。

    • ylabel('Outdoor temperature (癈)') 设置 y 轴标签。

  • 使用 yyaxis right 切换到右侧 y 轴,绘制太阳辐射曲线:

    • plot(nl.d.iGlob,'Color',red) 绘制太阳辐射曲线。

    • plot([83*86400 87*86400]-3600,[50 50],'--','Color',red) 绘制太阳辐射阈值线(50 W/m²)。

  • 设置右侧 y 轴范围和标签:

    • ylim([0 550]) 设置 y 轴范围为 0 W/m² 到 550 W/m²。

    • ylabel('Solar radiation (W m^{-2})') 设置 y 轴标签。

  • 设置 x 轴范围和刻度,添加图例和 x 轴标签。


5. 代码的整体功能

  • 这段代码的主要功能是从无灯具场景的模拟数据中提取温度、遮阳幕、冷却、室外温度和太阳辐射数据,并绘制它们的曲线。

  • 通过这种方式,可以直观地比较不同场景下的温室环境参数变化,帮助研究人员理解热回收和遮阳幕对温室温度的影响。


6. 代码的用途

  • 这段代码用于分析温室在无灯具场景下的温度、遮阳幕、冷却、室外温度和太阳辐射的变化趋势,帮助研究人员评估不同策略对温室环境的影响。

  • 通过观察这些参数的变化,可以优化温室的温度控制和节能策略。


7. 可能的改进

  • 如果 plotMeans 函数的实现不明确,可以进一步解释该函数的具体逻辑。

  • 可以添加更多的注释,解释每个步骤的目的,以便其他研究人员更容易理解和使用这段代码。

  • 可以将不同年份或不同场景的数据绘制在同一图中,以便更直观地比较它们的差异。


总结来说,这段代码是一个用于分析和可视化 温室在无灯具场景下的温度、遮阳幕、冷却、室外温度和太阳辐射 的工具,帮助研究人员更好地理解温室环境的变化趋势,并为节能策略的制定提供数据支持。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇