用C语言编写的最小二乘法求解程序
一、最小二乘法原理与计算方法
2
(x) a ax ax 012对于m组测量数据,选取
anxn进行n阶拟合,按
照残差平方和最小原则,对各个待定系数求偏导数,使之都等于0,通过数学运算可得到各个系数的
最小二乘的法方程为运算式如下,求解这个线性方程组就可以得出各个系数的值。
m 1 i 1 m
xi i 1 m
xn
i
i 1
x
i 1mi 1
m
i
2
x i
n 1x ii 1
m
m
n
xi yi 0i 1
i 1 mm
n 1
xi 1 xiyi i 1i 1
m m
2n n n xx iiyi
i 1 i 1
m
当n=1时,为1阶拟合,又称直线拟合,即系数矩阵是一个2*2的矩阵,通过线性方程的求解运
算,求得线性回归方程的系数表达式为:
当n=2时,为2阶曲线拟合,所得到的系数矩阵是一个3*3的矩阵【用aij(i,j=1,2,……)的形式表达】,通过线性方程的求解运算,求得线性回归方程的系数表达式为: