【问题标题】:Matlab: non-linear-regression, 2 criteriaMatlab:非线性回归,2个标准
【发布时间】:2016-10-17 02:31:07
【问题描述】:

我正在尝试使用 3 个自变量(光照、温度和蒸汽压亏缺 (VPD))拟合非线性模型,以预测净生态系统 CO2 交换 (NEE)。

我知道如何使用 nlinfit 函数,但我的问题是我想使用 2 个标准:-

1. if VPD < 1.3
NEE = (Param(1).*Param(2).*Ind_var(:,1))./(Param(1).*Ind_var(:,1)+Param(2)) + Param(3).*(1.6324.^((Ind_var(:,2)-18)./10));
2. if VPD >= 1.3
NEE = (Param(1).*(Param(2).*exp(-Param(4).*(Ind_var(:,3)-1.3))).*Ind_var(:,1))./(Param(1).*Ind_var(:,1)+(Param(2).*exp(-Param(4).*(Ind_var(:,3)-1.3))))+Param(3).*(1.6324.^((Ind_var(:,2)-18)./10));

基本上,如果自变量 VPD(蒸汽压力赤字)低于1.3,我想强制我的Param(4) = 0

但我不知道该怎么做。

你能帮帮我吗? 谢谢, 亚历克西斯

【问题讨论】:

    标签: matlab non-linear-regression


    【解决方案1】:

    您可以将Param(4) 替换为Param(4)*(VPD&lt;1.3)。 在 Matlab 中,条件表达式如果为真,则为 1,如果为假,则为 0。

    【讨论】:

      猜你喜欢
      • 2013-10-25
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 2017-06-17
      • 1970-01-01
      • 2016-11-13
      • 2013-08-20
      相关资源
      最近更新 更多