函数逼近
基础
当我们使用插值时经常遇到一个问题,采样点过多怎么办?采样点如果多余真实函数的次数那么就是方程数多余未知量的数目,这时我们反而无法直接得到精确解。因此需要使用逼近的方法得到近似解。
范数
为了对线性空间中的元素大小进行衡量,引入了范数的概念。
范数的定义:
- 1-范数: $||x||1 = \sum{i=1}^{n}|x_i |$
- 2-范数: $||x||2 = \sum{i=1}^{n} (x_i^2 )^{\frac{1}{2}}$
- $\infty -$范数: $||x||_{\infty} = \underset{1 \le i \le n}{max} |x_i |$
根据这个我们可以定义最佳逼近。函数拟合也就是函数逼近,即寻找一条曲线让他和目标曲线的差距最小。而这个差距就可以使用前面所说的范数。
- 最佳一致逼近: 在无穷范数意义下的最小值,即$||f(x) - p^* (x) ||{\infty} = \underset{p \in H_n}{min}||f(x) - p(x)|||{\infty} = \underset{P \in H_n}{min} \underset{a \le x \le b}{max}||f(x) - P(x)|$
- 最佳平方逼近: 二范数意义下的最佳逼近
- 最小二乘拟合: 离散情况二范数意义下的最佳逼近
正交多项式
首先两个向量x = $(x_1 ,x_2 , \dots , x_n )^T$和 $y=(y_1 ,y_2 ,\dots ,y_n )^T$的内积定义为:
如果(x, y) = 0,则称x和y正交
连续情况下的带权正交:
则称f(x)和g(x)在[a, b]上带权$\rho(x)$正交,若函数族$\varphi_0 (x), \varphi_1 (x) …$满足关系:
则称$\varphi_k (x)$是[a, b]上的正交函数族, 若$A_k = 1$,则成为标准正交函数族
例如: 1, cosx , sinx, cos2x, sin2x, …
- $\rho(x)$: 权函数,一般情况下都是1,但是有些时候权函数不为1可以让函数有更多变化
正交多项式的性质:
- 如果$\varphi_k (x)$是带权$\rho(x)$正交多项式,则有如下性质:
- $\varphi_n (x)$在[a, b]上有n个不同的零点
勒让德多项式
勒让德多项式权函数为1,并且由{1, x, $\dots , x^n , \dots$)正交化得到的多项式。
表达式:
求n阶导数后可得:
其中$a_n = \frac{(2n)!}{2^n (n!)^2}$
性质:
- 正交性:
- 奇偶性: $P_n (-x) = (-1)^n P_n (x)$
- 递推关系: $xPn (x) = a_0 P_0 (x) + a_1 P_1 (x) + \dots + a{n+1}P_{n+1}(x)$
切比雪夫多项式
切比雪夫多项式的权函数为$\rho(x) = \frac{1}{\sqrt{1-x^2}}$,并且区间为[-1, 1]
它的表达式为:
切比雪夫多项式的性质为:
- 递推关系:
- 正交结果为:
- $T_n$ (x)在[-1, 1]上有n个零点,并且零点位置为 $x_k = cos \frac{2k-1}{2n} \pi$
$T_n (x)$的首项$x^n$的系数为$2^{n-1}$
根据这条性质我们可以使$T_n (x)$的首项变成1,只要令$\widetilde{T}_0 (x) = 1, \widetilde{T}_n (x) = \frac{1}{2^{n-1}} T_n (x)$
- 设$\widetilde{T}_n (x)$是首项为1的切比雪夫多项式,则
且
其中P(x)是任意n次多项式函数
这条定理说明了$\widetilde{T}_n (x)$的最大值小于所有多项式函数的最大值,通过它我们可以对函数最大值进行约束。
[a, b]区间上的零点
切比雪夫多项式在[-1, 1]上的零点值为$x_k = cos \frac{2k-1}{2n} \pi$
首先乘以$\frac{1}{2}$到[-1/2, 1/2]然后再向右移动1/2到[0, 1],可得:
然后再加上a并且乘上b-a就可以得到最终结果
使用这些点作为插值点,就可以得到最佳结果,我们知道多项式的误差项为$\frac{f^{n+1}(\xi )}{(n+1)!} \omega{n+1}(x)$,他只会对$\omega{n+1}(x)$这一项有影响,约束了它的上界的最大值,但是对导数没有影响,因此无法完全避免龙格现象
最佳平方逼近
问题:
其中S(x)就是我们拟合函数,并且它是多项式函数,它等价于q求
现在问题变成了求一个$a_0 , a_1 , \dots , a_n$使得误差最下化,也就是
也就是要求:
如果$S^(x) = a_0^ + a_1^ x + \dots + a_n^ x^n$,则
我们使用Ha = d进行求解,其中H称为希尔伯特矩阵,它的形式为:
而d为:
使用正交函数族
如前面所示,使用正交函数族会极大的简化$(\varphi_k (x) , \varphi_j (x))$的求解,因为$(\varphi_k (x) , \varphi_j (x)) = 0 \quad 当k \ne j$
于是我们需要求解的a的解变为:
因此最佳逼近函数为:
最小二乘法
在实际应用中,我们往往得到的是一组试验点数据,而我们要凭借它去拟合曲线。也就是我们要寻找一个函数$S^* (x)$使得:
并且$S(x) = a_0 \varphi_0 (x) + \dots + a_n \varphi_n (x)$
和上面类似,经过求导和变换之后问题可以变成$\sum_{j=0}^{n}(\varphi_k , \varphi_j ) a_j = d_k$,也就是Ga = d,其中G为
同样使用正交多项式可以简化求解。因为正交多项式满足
因此前面的解可以转化为
这里的$\varphi_k$可以使用递推公式进行求解,并且现在P(x)就是$\varphi(x)$
其中$a_{k+1}$和$\beta_k$的值为
并且拟合曲线为:
function square_fit_ans = square_fit(x, y, n, stage, test_x, m) |