matlab非线性参数拟合,matlab非线性参数拟合估计_很好的参考材料

使用nlinfit、fminsearch在matlab中实现基于最小二乘法的

非线性参数拟合

(整理自网上资源)

最小二乘法在曲线拟合中比较普遍。拟合的模型主要有

1.直线型

2.多项式型

3.分数函数型

4.指数函数型

5.对数线性型

6.高斯函数型

......

一般对于LS问题,通常利用反斜杠运算“\”、fminsearch或优化工具箱提供的极小化函数求解。在Matlab中,曲线拟合工具箱也提供了曲线拟合的图形界面操作。在命令提示符后键入:cftool,即可根据数据,选择适当的拟合模型。

“\”命令

1.假设要拟合的多项式是:y=a+b*x+c*x^

2.首先建立设计矩阵X:

X=[ones(size(x)) x x^2];

执行:

para=X\y

para中包含了三个参数:para(1)=a;para(2)=b;para(3)=c;

这种方法对于系数是线性的模型也适应。

2.假设要拟合:y=a+b*exp(x)+cx*exp(x^2)

设计矩阵X为

X=[ones(size(x)) exp(x) x.*exp(x.^2)];

para=X\y

3.多重回归(乘积回归)

设要拟合:y=a+b*x+c*t,其中x和t是预测变量,y是响应变量。设计矩阵为X=[ones(size(x)) x t] %注意x,t大小相等!

para=X\y

polyfit函数

polyfit函数不需要输入设计矩阵,在参数估计中,polyfit会根据输入的数据生成设计矩阵。

1.假设要拟合的多项式是:y=a+b*x+c*x^2

p=polyfit(x,y,2)

然后可以使用polyval在t处预测:

y_hat=polyval(p,t)

polyfit函数可以给出置信区间。

[p S]=polyfit(x,y,2) %S中包含了标准差

[y_fit,delta] = polyval(p,t,S) %按照拟合模型在t处预测

在每个t处的95%CI为:(y_fit-1.96*delta, y_fit+1.96*delta)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值