least_square.m
function outputArg1 = least_square(xs,ys,n)
%UNTITLED 最小二乘法
% 输入x、y数组 以及n拟合多项式的次数
% 创建矛盾方程组系数矩阵
A = ones(length(xs),n + 1);
for m = 2:n+1
A(:,m) = xs' .* A(:,m-1);
end
% 创建正规方程组系数矩阵
%N = [A'*A A'*ys'];
N = A'*A;
B = A'*ys';
% 求正规方程组的解
X=N\B;
outputArg1 = X;
end
test.m
x = [0 1 2 3 4 5];
y = [5 2 1 1 2 3];
least_square(x,y,2)