matlab 最小二乘法的非线性参数拟合
首先说一下匿名函数:在创建匿名函数时,Matlab 记录了关于函数的信息,当
使用句柄调用该函数的时候,Matlab 不再进行搜索,而是立即执行该函数,极大
提高了效率。所以首选匿名函数。具体拟合时可以使用的方法如下: 1 曲线拟合工
具箱 提供了很多拟合函数,使用简单
非线性拟合 nlint 函数
clear all;
x1=[0.4292 0.4269 0.381 0.4015 0.4117 0.3017]'; x2=[0.00014 0.00059
0.0126 0.0061 0.00425 0.0443]';
x=[x1 x2];
y=[0.517 0.509 0.44 0.466 0.479 0.309]'; f=@(p,x)
2.350176*p(1)*(1-1/p(2))*(1-(1-
x(:,1).^(1/p(2))).^p(2)).^2.*(x(:,1).^
(-1/p(2))-1).^(-p(2)).*x(:,1).^(-1/p(2)-0.5).*x(:,2);
p0=[8 0.5]';
opt=optimset('TolFun',1e-3,'TolX',1e-3);% [p R]=nlint(x,y,f,p0,opt)
2 最小二乘法在曲线拟合中比较普遍。拟合的模型主要有
1.直线型
2.多项式型
3.分数函数型
4.指数函数型
5.对数线性型
6.高斯函数型
评论2
最新资源