Recursive least square
给定一组样本点:
… | |||
---|---|---|---|
… |
求拟合函数 使得 取最小值。
设 是n+1个线性无关的连续函数, 是由 的所有线性组合构成的集合,记 , 。
将 写成矩阵的形式:
所求的 满足如下条件 :
以矩阵形式表示如下:
为 (表示有 组样本点时对应的 个参数)
其中,, ,,
目标:
对 进行推导变换:
令 , ,则 .
令 .
function Ak = nafit1( A, x, xk, yk, m)
Pni=inv(P(x,m));
phik2phik=phi(xk,m);
phi2y=phiy(xk, yk, m);
Ak=A'-Pni*phik2phik*A'+Pni*phi2y;
Ak=fliplr(Ak');
end
function phi2y = phiy(xk, yk, m)
phi2y = zeros(m+1, 1);
for i=0:m
phi2y(i+1)=xk^i*yk;
end
end
function phik2phik = phi(xk, m)
phik2phik = zeros(m+1, m+1);
for i=0:m
for j=0:m
phik2phik(i+1,j+1)=xk^(i+j);
end
end
end
function Pres = P(x, m)
len = length(x);
Pres = zeros(m+1, m+1);
for k=1:len
Pres = Pres + phi(x(k), m);
end
end
代码的使用方法