Matlab:非线性回归,2个标准

时间:2016-10-17 02:31:08

标签: matlab non-linear-regression

我正在尝试使用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

但我不知道该怎么做。

你可以帮帮我吗? 谢谢, 亚历

1 个答案:

答案 0 :(得分:0)

您可以Param(4)替换Param(4)*(VPD<1.3)。 如果为true,则条件表达式计算为1,如果在Matlab中为false,则计算为0。

相关问题