最小二乘算法在图像上怎么拟合 最小二乘法拟合直线的公式是什么,如何推导的?

[更新]
·
·
分类:行业
4406 阅读

最小二乘算法在图像上怎么拟合

最小二乘法拟合直线的公式是什么,如何推导的?

最小二乘法拟合直线的公式是什么,如何推导的?

用polyfit函数,(用来多项式拟合的,是用最小二乘法)举个例子x[90919293949596]z[70122144152174196202]apolyfit(x,z,1)结果:a1.0e 03*0.0205-1.75511表示1次多项式(一次时就是直线,适用于你的情况)a是多项式的系数向量,是从高次项往低次项排的,如果想运用结果,比如想知道当x97时z等于多少那么有两种方法,直接用系数gtgta(1)*97 a(2)ans233.4286或者用polyval函数gtgtpolyval(a,97)ans233.4286

matlab中用最小二乘法拟合直线怎么做?

用polyfit函数,(用来多项式拟合的,是用最小二乘法)
举个例子
x[90 91 92 93 94 95 96]
z[70 122 144 152 174 196 202]
apolyfit(x,z,1)
结果:
a
1.0e 03 *
0.0205 -1.7551
1表示1次多项式(一次时就是直线,适用于你的情况)
a是多项式的系数向量,是从高次项往低次项排的,
如果想运用结果,比如想知道当x97时z等于多少
那么有两种方法,
直接用系数
gtgt a(1)*97 a(2)
ans
233.4286
或者用polyval函数
gtgt polyval(a,97)
ans
233.4286

如何用MATLAB做多元函数的最小二乘法拟合?

参考代码
生成测试数据
a01;a12;a23;
x1rand(10,10);
x2rand(10,10);
Ya0 a1*x1 a2*x2;
加入随机噪声
YY 0.1*randn(size(y));
拟合函数形式
f@(k,x)k(1) k(2)*x(:,1) k(3)*x(:,2);
x [x1(:) x2(:)];
klsqcurvefit(f,[1 1 1 1],x,Y(:))
n size(x,1);
plot(1:n,Y(:),bo,1:n,f(k,x),r:.)
运行结果
k
1.0309 1.9782 2.9800
分别对应a0~a2,可见与原始系数比较吻合。