多语言展示
当前在线:1076今日阅读:26今日分享:39

matlab中怎么建立非线性回归模型

有时候我们在使用matlab进行数据计算的时候,线性回归模型不满足需要,需要建立非线性回归模型,怎么建立呢,下面来分享一下方法
工具/原料
1

matlab

2

建立非线性回归模型

方法/步骤
1

第一步我们在建立非线性回归模型的过程中,首先需要知道matlab中非线性回归的命令是“[beta,r,J]=nlinfit(x,y,'modelfun', beta0)”,模型预测和误差命令是“[Y,DELTA]=nlpredci('modelfun', x,beta,r,J)”,具体各个参数的意思,如下图所示:

2

第二步下面通过实例来介绍非线性回归模型建立的过程,在matlab中创建一个modelfun函数,带beta和x两个参数,并确定非线性回归公式“yhat=beta(1)*exp(beta(2)./x)”,如下图所示:

3

第三步在matlab中创建一个test2脚本,输入x,y,beta0数据,通过“[beta,r ,J]=nlinfit(x',y',@modelfun,beta0)”代码进行非线性回归,这里需要注意的是加'是转置,将行向量转置为列向量,x,y,bat0必须为列向量,如下图所示:

4

第四步运行test2脚本,我们可以看到beta=[11.6036 -1.0641],得到的非线性回归模型如下图所示:

5

第五步我们也可以通过代码[YY,delta]=nlpredci('modelfun',x',beta,r ,J),进行非线性回归预测,查看非线性回归模型的效果,如下图所示:

6

第六步运行test2脚本,可以看到非线性回归模型预测的效果还是比较好的,曲线代表预测值,黑色点代表实际值,黑色点离曲线较近,如下图所示:

注意事项

如果你觉得这篇对你有用的话,请投一下票

推荐信息