generateKatzin2020FiguresTables脚本

这段 MATLAB 脚本用于生成 Katzin et al. (2020) 论文中的图表和表格。论文研究了在 LED 和 HPS(高压钠灯)补光条件下温室的热需求。以下是代码的详细解释:


1. 脚本的背景

  • 论文:Katzin et al. (2020) 在 Biosystems Engineering 上发表了一篇关于温室补光模型的论文,提出了一个开源的温室模型(GreenLight)。

  • 目标:通过加载模拟数据,生成论文中的图表和表格,包括温室参数、灯参数、模型评估结果、加热能量对比、气候轨迹和灯的输出能量等。


2. 脚本的功能

  • 加载数据:从指定的文件夹中加载 MATLAB 数据文件(.mat 文件),这些文件包含温室模拟的结果。

  • 生成表格

    • 表 1:温室参数列表。

    • 表 2:LED 和 HPS 灯的参数对比。

    • 表 3:模型评估结果(RMSE、RRMSE、ME 等)。

    • 表 4:灯的能量输出(PAR、NIR、FIR、对流、冷却等)。

  • 生成图表

    • 图 5:实测和模拟的加热能量对比。

    • 图 6:气候轨迹(温度、湿度、CO2 浓度等)。

    • 图 7:灯的温度变化。


3. 代码结构

(1) 设置目录

  • currentFilenamefullFilePath:获取当前脚本的文件名和完整路径。

  • currentFileDir:获取当前脚本所在的目录。

  • simDir:获取模拟数据的根目录。

  • outputPath:指定输出文件的路径。

(2) 加载数据

  • 加载四个 MATLAB 数据文件:

    • climateModel_hps_manuscriptParams.mat:HPS 补光条件下的气候模型数据。

    • climateModel_led_manuscriptParams.mat:LED 补光条件下的气候模型数据。

    • energyUse_hps__manuscriptParams_1-1.mat:HPS 补光条件下的能量使用数据。

    • energyUse_led__manuscriptParams_1-1.mat:LED 补光条件下的能量使用数据。

(3) 生成表格

  • 表 1:提取温室参数并显示。

  • 表 2:提取 LED 和 HPS 灯的参数并显示。

  • 表 3:计算并显示模型评估结果(RMSE、RRMSE、ME 等)。

  • 表 4:计算并显示灯的能量输出(PAR、NIR、FIR、对流、冷却等)。

(4) 生成图表

  • 图 5:调用 plotHeating 函数,绘制实测和模拟的加热能量对比。

  • 图 6:调用 plotTrajectories 函数,绘制气候轨迹(温度、湿度、CO2 浓度等)。

  • 图 7:调用 oneDayLampTemps 函数,绘制灯的温度变化。


4. 关键代码解析

(1) 温室参数(表 1)

  • hpsClimate 对象中提取温室参数,并将其组织为表格形式。

  • 参数包括:

    • psi:温室朝向。

    • aCov:覆盖面积。

    • aFlr:地板面积。

    • hAir:空气高度。

    • hGh:温室高度。

    • aRoof:屋顶面积。

    • hVent:通风高度。

    • cLeakage:泄漏系数。

    • cDgh:除湿系数。

    • cWgh:加湿系数。

    • leakTop:顶部泄漏系数。

    • tauThScrPar:保温幕的 PAR 透射率。

    • tauBlScrPar:遮光幕的 PAR 透射率。

    • kThScr:保温幕的热传导系数。

    • kBlScr:遮光幕的热传导系数。

    • tauRfPar:屋顶的 PAR 透射率。

    • tauRfNir:屋顶的 NIR 透射率。

    • cHecIn:内部热交换系数。

    • phiExtCo2:外部 CO2 注入流量。

    • phiPipeE:外部管道流量。

    • phiPipeI:内部管道流量。

    • lPipe:管道长度。

    • phiGroPipeE:外部生长管道流量。

    • phiGroPipeI:内部生长管道流量。

    • lGroPipe:生长管道长度。

(2) 灯参数(表 2)

  • hpsClimateledClimate 对象中提取 LED 和 HPS 灯的参数,并将其组织为表格形式。

  • 参数包括:

    • lampsMax:最大灯功率。

    • aLamp:灯的面积。

    • tauLampPar:灯的 PAR 透射率。

    • rhoLampPar:灯的 PAR 反射率。

    • tauLampNir:灯的 NIR 透射率。

    • rhoLampNir:灯的 NIR 反射率。

    • etaLampPar:灯的 PAR 效率。

    • etaLampNir:灯的 NIR 效率。

    • epsLampTop:灯顶部的发射率。

    • epsLampBottom:灯底部的发射率。

    • capLamp:灯的热容量。

    • lampCool:灯的冷却功率。

    • hecLampAir:灯与空气的热交换系数。

    • parJtoUmolLamp:灯的 PAR 转换系数。

(3) 模型评估(表 3)

  • 计算并显示模型评估结果,包括:

    • RMSE(均方根误差):用于评估模拟值与实测值的偏差。

    • RRMSE(相对均方根误差):RMSE 的标准化形式。

    • ME(平均误差):模拟值与实测值的平均偏差。

(4) 灯的能量输出(表 4)

  • 计算并显示灯的能量输出,包括:

    • PAR(光合有效辐射):用于植物光合作用的光能。

    • NIR(近红外辐射):用于加热的光能。

    • FIR(远红外辐射):用于加热的光能。

    • 对流:灯通过对流传递的热能。

    • 冷却:灯的冷却能量。

(5) 图表生成

  • 图 5:调用 plotHeating 函数,绘制实测和模拟的加热能量对比。

  • 图 6:调用 plotTrajectories 函数,绘制气候轨迹(温度、湿度、CO2 浓度等)。

  • 图 7:调用 oneDayLampTemps 函数,绘制灯的温度变化。


5. 代码的输入和输出

输入:

  • MATLAB 数据文件:存储在 MATLAB output\Replicated 2023 文件夹中的 .mat 文件。

  • StateSpaceModel 对象:每个 .mat 文件包含一个 StateSpaceModel 对象(bv),其中存储了温室模拟的结果。

输出:

  • 表格:显示在 MATLAB 命令窗口中。

  • 图表:通过调用外部函数(如 plotHeatingplotTrajectoriesoneDayLampTemps)生成。


6. 总结

这段脚本是一个完整的工具,用于从温室模拟数据中提取信息并生成论文中的图表和表格。它通过加载数据、计算指标、组织表格和调用绘图函数,实现了对模拟结果的全面分析和可视化。

暂无评论

发送评论 编辑评论


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