climateModelEval_hps_local脚本

这段代码是一个完整的温室气候模型模拟流程,用于加载数据、设置模型参数、运行模拟并保存结果。以下是代码的详细解释:


代码逻辑

1. 模拟参数设置

  • absTolrelTol: 设置数值求解器的绝对容差和相对容差。

  • maxStep: 设置数值求解器的最大步长。

  • simType: 模拟类型(例如 'hps' 表示高压钠灯照明系统)。

  • filter: 数据过滤类型(例如 'none' 表示不进行过滤)。

  • simResctrlRes: 模拟和控制的时间分辨率(以秒为单位)。

  • scenBeginscenEnd: 模拟场景的起始和结束索引。

  • seasonLength: 模拟的季节长度(以天为单位)。

  • firstDay: 数据开始的日期(以天为单位)。

2. 加载数据

  • 使用 loadGreenhouseData 函数加载温室的环境数据(如室外温度、室内温度、控制参数等)。

  • 对加载的数据进行预处理:

    • 将水蒸气密度转换为水蒸气压力。

    • 将 CO2 浓度从 ppm 转换为 mg/m³。

  • 提取测量值并存储到 v 结构体中:

    • v.tAir: 空气温度。

    • v.vpAir: 水蒸气压力。

    • v.co2Air: CO2 浓度。

3. 计算附加数据

  • 计算天空温度和土壤温度,并将其添加到 outdoor 数据中。

4. 创建模型

  • 使用 createBvModel 函数创建温室模型 bv

  • 根据 simType 设置模型参数(例如 setHpsParamssetLedParams)。

  • 调整模型的其他参数,例如:

    • cLeakage: 泄漏系数。

    • aRoof: 屋顶通风面积。

    • kBlScrkThScr: 黑屏和保温屏的流量系数。

    • cWghcDgh: 通风系统的风压系数和排放系数。

    • 初始化作物的碳含量(叶、茎、果实)。

5. 运行模拟

  • 使用 ode15s 求解器运行模拟:

    matlab
    复制
    options = odeset('Vectorized','on','AbsTol', absTol, 'RelTol', relTol, 'MaxStep', maxStep);
    makeScript(bv,'localhps.m','localhps');
    localhps(bv, 'ode15s', options);
    delete('localhps.m');
  • 模拟完成后,调整模型的时间分辨率(changeRes 函数)。

6. 计算误差指标

  • 计算空气温度、水蒸气压力和 CO2 浓度的相对均方根误差(RRMSE):

    matlab
    复制
    rrmseTair = sqrt(mean((bv.x.tAir.val(:,2)-v.tAir.val(:,2)).^2))./mean(v.tAir.val(:,2));
    rrmseVpair = sqrt(mean((bv.x.vpAir.val(:,2)-v.vpAir.val(:,2)).^2))./mean(v.vpAir.val(:,2));
    rrmseCo2air  = sqrt(mean((bv.x.co2Air.val(:,2)-v.co2Air.val(:,2)).^2))./mean(v.co2Air.val(:,2));

7. 保存结果

  • 将模拟结果保存到文件中:

    matlab
    复制
    save(saveTo);

8. 提示音

  • 使用 beep 函数发出提示音,表示模拟完成。


关键点

  1. 数据加载与预处理:

    • 从外部数据源加载温室环境数据,并进行必要的单位转换和计算(如水蒸气压力、CO2 浓度、天空温度、土壤温度)。

  2. 模型创建与参数设置:

    • 根据模拟类型(HPS 或 LED)设置模型参数。

    • 调整通风系统、加热系统、作物生长等参数,以反映不同照明系统的影响。

  3. 模拟运行:

    • 使用数值方法(ode15s)求解模型的微分方程,模拟温室环境的动态变化。

    • 通过 makeScriptlocalhps 函数生成并运行模拟脚本。

  4. 误差计算:

    • 计算空气温度、水蒸气压力和 CO2 浓度的相对均方根误差(RRMSE),用于评估模型的准确性。

  5. 结果保存:

    • 将模拟结果保存到文件中,便于后续分析和比较。


总结

这段代码的主要功能是加载数据、设置模型参数、运行温室气候模型模拟,并保存结果。通过调整参数和运行模拟,可以分析不同照明系统(如 HPS 和 LED)对温室环境的影响。代码结构清晰,功能明确,便于扩展和修改。

暂无评论

发送评论 编辑评论


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