数值方法笔记4:插值、近似和拟合

news/2024/3/29 23:16:41/文章来源:https://blog.csdn.net/subtitle_/article/details/129135495

  • 1. 插值
    • 1.1 插值的一些概念
      • 1.1.1 插值的定义
      • 1.1.2 插值的存在性
      • 1.1.3 插值的误差分析
    • 1.2 拉格朗日插值(Lagrange Interpolation)
      • 1.2.1 拉格朗日插值误差分析
    • 1.3 Newton多项式插值
      • 1.3.1 Newton多项式插值误差分析
    • 1.4 Chebyshev多项式确定插值点
      • 1.4.1 Chebyshev多项式性质
    • 1.5 有理插值
      • 1.5.1 有理插值误差分析
    • 1.6 分段插值
      • 1.6.1 分段线性插值
      • 1.6.2 分段Hermite插值
        • 1.6.2.1 Hermite插值误差
    • 总结
  • 2. 近似
    • 2.1 近似的一些概念
    • 2.2 帕德近似 (有理近似)
  • 3. 拟合
    • 3.1 最小二乘拟合
      • 3.1.1 线性拟合
      • 3.1.2 指数拟合
      • 3.1.3 其他形式拟合(线性化思想)
      • 3.1.4 一般线性最小二乘法形式
      • 3.1.5 非线性最小二乘法
    • 3.1.5.1 Levenberg-Marquardt方法
      • 3.1.6 多项式拟合
      • 3.1.7 拟合的问题
    • 3.2 基于优化的拟合
    • 3.3 基于概率分布的模型
    • 3.4 非线性曲线拟合
      • 3.4.1 逻辑回归
    • 3.5 三角拟合
      • 3.5.1 三角拟合的正交性质
    • 3.6 分段三次样条曲线拟合
    • 3.7 Bezier曲线拟合
    • 3.8 Matlab函数

多项式方程如f(x)=1+x;f(x)=x2+x4f(x)=1+x ; \quad f(x)=x^{2}+x^{4}f(x)=1+x;f(x)=x2+x4
非多项式方程如f(x)=exf(x)=sin⁡(x)ln⁡(x)f(x)=e^{x} \quad f(x)=\sin (x) \ln (x)f(x)=exf(x)=sin(x)ln(x)

多项式方程对于计算机好计算,非多项式方程则不然,可以用多项式方程来计算非多项式方程吗?怎么用一个多项式方程来表示一个非多项式方程,是我们要解决的问题。

1. 插值

1.1 插值的一些概念

1.1.1 插值的定义

插值:给定一组点(x1,y1),(x2,y2),...,(xn,yn)(x_1,y_1),(x_2,y_2),...,(x_n,y_n)(x1,y1),(x2,y2),...,(xn,yn),构造一个函数y=f(x)y=f(x)y=f(x),满足yi=f(xi),i=1,2,...,ny_i=f(x_i),i=1,2,...,nyi=f(xi),i=1,2,...,n
在这里插入图片描述

例子:
在这里插入图片描述

1.1.2 插值的存在性

设多项式方程为:
Pn(x)=a0+a1x+a2x2+……+anxnPn(xi)=yi,i=0,1,2,…,n,xi≠xjP_{n}(x)=a_{0}+a_{1} x+a_{2} x^{2}+\ldots \ldots+a_{n} x^{\mathrm{n}}\\ P_{n}\left(x_{i}\right)=y_{i}, \quad \mathrm{i}=0,1,2, \ldots, \mathrm{n}, x_{i} \neq x_{\mathrm{j}}Pn(x)=a0+a1x+a2x2+……+anxnPn(xi)=yi,i=0,1,2,,n,xi=xj

有:

[1x0x02⋯x0n1x1x12⋯x1n1x2x22⋯x2n⋯⋯⋯⋯⋯1xnxn2⋯xnn][a0a1a2⋮an]=[y0y1y2⋮yn]\begin{bmatrix} 1 & x_{0} & x_{0}^{2} &\cdots &x_0^n\\ 1 & x_{1} & x_{1}^{2} &\cdots &x_1^n\\ 1 & x_{2} & x_{2}^{2} &\cdots &x_2^n\\ \cdots & \cdots & \cdots & \cdots &\cdots \\ 1 & x_{n} & x_{n}^{2} &\cdots &x_n^n \end{bmatrix}\begin{bmatrix} a_{0} \\ a_{1} \\ a_{2}\\ \vdots\\ a_n \end{bmatrix}=\begin{bmatrix} y_{0} \\ y_{1} \\ y_{2}\\ \vdots\\ y_n \end{bmatrix}1111x0x1x2xnx02x12x22xn2x0nx1nx2nxnna0a1a2an=y0y1y2yn
也即Aa=y\mathbf{Aa}=\mathbf{y}Aa=y的形式。

要求A\mathbf{A}A行列式不等于0,根据vandermonde行列式,我们知道行列式:

∣1x0x02⋯x0n1x1x12⋯x1n1x2x22⋯x2n⋯⋯⋯⋯⋯1xnxn2⋯xnn∣=∏n≥i>j≥0(xi−xj)\left|\begin{array}{ccccc} 1 & x_{0} & x_{0}^{2} &\cdots &x_0^n\\ 1 & x_{1} & x_{1}^{2} &\cdots &x_1^n\\ 1 & x_{2} & x_{2}^{2} &\cdots &x_2^n\\ \cdots & \cdots & \cdots & \cdots &\cdots \\ 1 & x_{n} & x_{n}^{2} &\cdots &x_n^n \end{array}\right|=\prod_{n \geq i>j \geq 0}\left(x_{i}-x_{j}\right)1111x0x1x2xnx02x12x22xn2x0nx1nx2nxnn=ni>j0(xixj)

1.1.3 插值的误差分析

在这里插入图片描述
一般来说,如果点(xi,yi)(x_i,y_i)(xi,yi)是任意选择的,我们无法进行误差分析。

但如果这些点是按顺序从一个已知的函数f(x)f(x)f(x)中抽取的,这意味着(xi,y)=(xi,f(xi))(x_i,y)=(x_i,f(x_i))(xi,y)=(xi,f(xi)),误差R(x)=∣f(x)−Pn(x)∣R(x)=|f(x)-P_n(x)|R(x)=f(x)Pn(x)可以被预测到。

1.2 拉格朗日插值(Lagrange Interpolation)

给定一组点(x1,y1),(x2,y2),...,(xN,yN)(x_1,y_1),(x_2,y_2),...,(x_N,y_N)(x1,y1),(x2,y2),...,(xN,yN)

y=PN(x)=y0LN,0(x)+y1LN,1(x)+…+yNLN,N(x)=∑k=0NykLN,k(x)\begin{array}{l} y=P_{N}(x)=y_{0} L_{N, 0}(x)+y_{1} L_{N, 1}(x)+\ldots+y_{N} L_{N, N}(x) \\ =\sum_{k=0}^{N} y_{k} L_{N, k}(x) \end{array}y=PN(x)=y0LN,0(x)+y1LN,1(x)++yNLN,N(x)=k=0NykLN,k(x)

LN,k(x)=(x−x0)…(x−xk−1)(x−xk+1)…(x−xN)(xk−x0)…(xk−xk−1)(xk−xk+1)…(xk−xN)=∏j=0j≠kN(x−xj)∏j=0j≠kN(xk−xj)LN,k(x0)=0,…,LN,k(x1)=0,LN,k(xk)=1,LN,k(xk+1)=0,…,LN,k(xN)=0\begin{aligned} &L_{N, k}(x) = \frac{\left(x-x_{0}\right) \ldots\left(x-x_{k-1}\right)\left(x-x_{k+1}\right) \ldots\left(x-x_{N}\right)}{\left(x_{k}-x_{0}\right) \ldots\left(x_{k}-x_{k-1}\right)\left(x_{k}-x_{k+1}\right) \ldots\left(x_{k}-x_{N}\right)} = \frac{\prod_{\substack{j = 0 j \neq k}}^{N}\left(x-x_{j}\right)}{\prod_{\substack{j = 0 j \neq k}}^{N}\left(x_{k}-x_{j}\right)} \\ &L_{N, k}\left(x_{0}\right) = 0, \ldots, L_{N, k}\left(x_{1}\right) = 0, L_{N, k}\left(x_{k}\right) = 1, L_{N, k}\left(x_{k+1}\right) = 0, \ldots, L_{N, k}\left(x_{N}\right) = 0 \end{aligned}LN,k(x)=(xkx0)(xkxk1)(xkxk+1)(xkxN)(xx0)(xxk1)(xxk+1)(xxN)=j=0j=kN(xkxj)j=0j=kN(xxj)LN,k(x0)=0,,LN,k(x1)=0,LN,k(xk)=1,LN,k(xk+1)=0,,LN,k(xN)=0

1.2.1 拉格朗日插值误差分析

定理:假设f(x)f(x)f(x)[a,b][a,b][a,b]上是(n+1)(n +1)(n+1)阶可微,Ln(x)L_n(x)Ln(x)是拉格朗日函数,那么误差估计如下

Rn(x)=f(x)−Pn(x)=f(n+1)(ξ)(n+1)!∏k=0n(x−xk),ξ∈[x0,xn]R_{n}(x)=f(x)-P_{n}(x)=\frac{f^{(n+1)}(\xi)}{(n+1) !} \prod_{k=0}^{n}\left(x-x_{k}\right), \quad \xi \in\left[x_{0}, x_{n}\right]Rn(x)=f(x)Pn(x)=(n+1)!f(n+1)(ξ)k=0n(xxk),ξ[x0,xn]

证明
设w(x)=∏k=0n(x−xk)令R(t)=f(t)−f(x)−Pn(x)w(x)w(t)−Pn(t)有R(xi)=f(xi)−f(x)−Pn(x)w(x)w(xi)−Pn(xi)=0R(x)=f(x)−f(x)−Pn(x)w(x)w(x)−Pn(x)=0\begin{aligned} 设&w(x) = \prod_{k = 0}^{n}\left(x-x_{k}\right) \\ 令&R(t) = f(t)-\frac{f(x)-P_{n}(x)}{w(x)} w(t)-P_{n}(t) \\ 有&R\left(x_{i}\right) = f\left(x_{i}\right)-\frac{f(x)-P_{n}(x)}{w(x)} w\left(x_{i}\right)-P_{n}\left(x_{i}\right) = 0 \\ &R(x) = f(x)-\frac{f(x)-P_{n}(x)}{w(x)} w(x)-P_{n}(x) = 0 \end{aligned}w(x)=k=0n(xxk)R(t)=f(t)w(x)f(x)Pn(x)w(t)Pn(t)R(xi)=f(xi)w(x)f(x)Pn(x)w(xi)Pn(xi)=0R(x)=f(x)w(x)f(x)Pn(x)w(x)Pn(x)=0

于是R(t)R(t)R(t)n+2n+2n+2个根:x0,x1,⋯,xn,xx_0,x_1,\cdots,x_n,xx0,x1,,xn,x,使用罗尔定理,RRRn+1n+1n+1阶导数R(n+1)(x)R^{(n+1)}(x)R(n+1)(x)至少有一个根,使得R(n+1)(ξ)=0ξ∈[x0,xn]R^{(n+1)}(\xi)=0\quad \xi\in[x_0,x_n]R(n+1)(ξ)=0ξ[x0,xn],于是:

R(n+1)(t)=f(n+1)(t)−f(x)−Pn(x)w(x)w(n+1)(t)−Pn(n+1)(t)=f(n+1)(t)−f(x)−Pn(x)w(x)(n+1)!R(n+1)(ξ)=f(n+1)(ξ)−f(x)−Pn(x)w(x)(n+1)!=0f(x)−Pn(x)=f(n+1)(ξ)w(x)/(n+1)!\begin{aligned} &R^{(n+1)}(t) = f^{(n+1)}(t)-\frac{f(x)-P_{n}(x)}{w(x)} w^{(n+1)}(t)-P_{n}^{(n+1)}(t) \\ &= f^{(n+1)}(t)-\frac{f(x)-P_{n}(x)}{w(x)}(n+1) ! \\ &R^{(n+1)}(\xi) = f^{(n+1)}(\xi)-\frac{f(x)-P_{n}(x)}{w(x)}(n+1) ! = 0 \\ &f(x)-P_{n}(x) = f^{(n+1)}(\xi) w(x) /(n+1) ! \end{aligned}R(n+1)(t)=f(n+1)(t)w(x)f(x)Pn(x)w(n+1)(t)Pn(n+1)(t)=f(n+1)(t)w(x)f(x)Pn(x)(n+1)!R(n+1)(ξ)=f(n+1)(ξ)w(x)f(x)Pn(x)(n+1)!=0f(x)Pn(x)=f(n+1)(ξ)w(x)/(n+1)!

可以导出的其他性质:

w(x)=∏k=0n(x−xk)w′(x)=(x−x1)(x−x2)…(x−xn)+(x−x0)(x−x2)…+…Ln,k(x)=(x−x0)…(x−xk−1)(x−xk+1)…(x−xn)/w′(xk)\begin{aligned} &w(x) = \prod_{k = 0}^{n}\left(x-x_{k}\right) \\ &w^{\prime}(x) = \left(x-x_{1}\right)\left(x-x_{2}\right) \ldots\left(x-x_{n}\right)+\left(x-x_{0}\right)\left(x-x_{2}\right) \ldots+\ldots \\ &L_{n, k}(x) = \left(x-x_{0}\right) \ldots\left(x-x_{k-1}\right)\left(x-x_{k+1}\right) \ldots\left(x-x_{n}\right) / w^{\prime}\left(x_{k}\right) \end{aligned}w(x)=k=0n(xxk)w(x)=(xx1)(xx2)(xxn)+(xx0)(xx2)+Ln,k(x)=(xx0)(xxk1)(xxk+1)(xxn)/w(xk)

于是有:

∑k=0nLn,k(x)=∑k=0n(x−x0)…(x−xk−1)(x−xk+1)…(x−xn)/w′(xk)≡1\sum_{k=0}^{n} L_{n, k}(x)=\sum_{k=0}^{n}\left(x-x_{0}\right) \ldots\left(x-x_{k-1}\right)\left(x-x_{k+1}\right) \ldots\left(x-x_{n}\right) / w^{\prime}\left(x_{k}\right) \equiv 1k=0nLn,k(x)=k=0n(xx0)(xxk1)(xxk+1)(xxn)/w(xk)1

证明令f(x)=1,给定一系列点(xi,1), i.e. yi=1,Pn(x)=∑i=0nLn,i(x),R(x)≡0\text { 令} f(x)=1,给定一系列点\left(x_{\mathrm{i}}, 1\right) \text {, i.e. } y_{\mathrm{i}}=1, \quad P_{n}(x)=\sum_{i=0}^{n} L_{n, i}(x), R(x) \equiv 0 f(x)=1,给定一系列点(xi,1), i.e. yi=1,Pn(x)=i=0nLn,i(x),R(x)0

如何预测误差的边界

分别找到fn+1f^{n+1}fn+1w(x)w(x)w(x)的上界有:

∣f(n+1)(x)∣<Mn∣w(x)∣=∣∏k=0n(x−xk)∣<Wn\begin{aligned} &\left|{f}^{({n}+1)}({x})\right|<{M}_{{n}}\\ &|w({x})|=\left|\prod_{k=0}^{n}\left(x-x_{k}\right) \right|<W_{\mathrm{n}}\end{aligned} f(n+1)(x)<Mnw(x)=k=0n(xxk)<Wn

于是有:

∣Rn(x)∣=∣f(n+1)(ξ)(n+1)!∏k=0n(x−xk)∣<MnWn(n+1)!\left|R_{n}(x)\right|=\left|\frac{f^{(n+1)}(\xi)}{(n+1) !} \prod_{k=0}^{n}\left(x-x_{k}\right)\right|<\frac{M_{n} W_{n}}{(n+1) !}Rn(x)=(n+1)!f(n+1)(ξ)k=0n(xxk)<(n+1)!MnWn

如果xk=x0+kh,x_{k}=x_{0}+k h, \quadxk=x0+kh,W1=h24,W2=2h333,W3=h4W_{1}=\frac{h^{2}}{4}, W_{2}=\frac{2 h^{3}}{3 \sqrt{3}}, W_{3}=h^{4}W1=4h2,W2=332h3,W3=h4

1.3 Newton多项式插值

给定一组点(x1,y1),(x2,y2),...,(xN,yN)(x_1,y_1),(x_2,y_2),...,(x_N,y_N)(x1,y1),(x2,y2),...,(xN,yN)

我们观察这样一个递推序列:

PN(x)=PN−1(x)+aN(x−x0)(x−x1)…(x−xN−1)P_{N}(x)=P_{N-1}(x)+a_{N}\left(x-x_{0}\right)\left(x-x_{1}\right) \ldots\left(x-x_{N-1}\right)PN(x)=PN1(x)+aN(xx0)(xx1)(xxN1)

怎么求其中的系数呢?例子:给两个点和三个点的插值如下:

在这里插入图片描述
我们把三点的插值的a2a_2a2计算一下,可以发现Newton的系数和微分很像!

在这里插入图片描述
于是我们可以给出多个点的递推公式:
PN(x)=a0+a1(x−x0)+a1(x−x0)(x−x1)+a1(x−x0)(x−x1)(x−x2)+…+aN(x−x0)(x−x1)…(x−xN−1)ak=f[x0,x1,…,xk]\begin{array}{l} P_{N}(x)=a_{0}+a_{1}\left(x-x_{0}\right)+a_{1}\left(x-x_{0}\right)\left(x-x_{1}\right)+a_{1}\left(x-x_{0}\right)\left(x-x_{1}\right)\left(x-x_{2}\right)+ \\ \quad \ldots+a_{N}\left(x-x_{0}\right)\left(x-x_{1}\right) \ldots\left(x-x_{N-1}\right) \\ a_{k}=f\left[x_{0}, x_{1}, \ldots, x_{k}\right] \end{array}PN(x)=a0+a1(xx0)+a1(xx0)(xx1)+a1(xx0)(xx1)(xx2)++aN(xx0)(xx1)(xxN1)ak=f[x0,x1,,xk]
在这里插入图片描述

其中

可以验算一下P2P_2P2

在这里插入图片描述

差分计算和微分也很相似,二次经过差分变一次。P(x)P(x)P(x)nnn次多项式,P′(x)P'(x)P(x)n−1n-1n1次多项式。

在这里插入图片描述

性质:如果f(x)f(x)f(x)nnn次多项式,那么f[x,x0,x1,⋯,xn]=0f[x,x_0,x_1,\cdots,x_n]=0f[x,x0,x1,,xn]=0

1.3.1 Newton多项式插值误差分析

在这里插入图片描述

如果f(x)f(x)f(x)nnn次多项式,误差为:

Rn(x)=f(x)−Pn(x)=f[x,x0,…,xn](x−x0)(x−x1)…(x−xn)R_{n}(x)=f(x)-P_{n}(x)=f\left[x, x_{0}, \ldots, x_{n}\right]\left(x-x_{0}\right)\left(x-x_{1}\right) \ldots\left(x-x_{n}\right)Rn(x)=f(x)Pn(x)=f[x,x0,,xn](xx0)(xx1)(xxn)

对于拉格朗日插值我们又知道:

Rn(x)=f(n+1)(ξ)(n+1)!(x−x0)(x−x1)…(x−xn)R_{n}(x)=\frac{f^{(n+1)}(\xi)}{(n+1) !}\left(x-x_{0}\right)\left(x-x_{1}\right) \ldots\left(x-x_{n}\right)Rn(x)=(n+1)!f(n+1)(ξ)(xx0)(xx1)(xxn)

于是有:

f[x,x0,…,xn]=f(n+1)(ξ)(n+1)!f\left[x, x_{0}, \ldots, x_{n}\right]=\frac{f^{(n+1)}(\xi)}{(n+1) !}f[x,x0,,xn]=(n+1)!f(n+1)(ξ)

nnn的0,就变成中值定理。
于是我们知道拉格朗日插值和Newton插值可以互换。只是形式不同。

1.4 Chebyshev多项式确定插值点

根据前面的拉格朗日插值我们知道
在这里插入图片描述
我们怎么选择最佳的(x0,x1,…,xN)\left({\left.x_{0}, x_{1}, \ldots, x_{N}\right)}\right.(x0,x1,,xN)以最小化∣R(x)∣|R(x)|R(x)呢?

答案是,使用Chebyshev多项式的根。

Chebyshev多项式一般表达式:
在这里插入图片描述
在这里插入图片描述
注意Tn(x)T_n(x)Tn(x)最高次项的系数是2n−12^{n-1}2n1, 对于TnT_nTnnnn个零点。

在这里插入图片描述

1.4.1 Chebyshev多项式性质

在这里插入图片描述

定理
max⁡−1≤x≤1∣Tn(x)2n−1∣≤max⁡−1≤x≤1∣w(x)∣max⁡−1≤x≤1∣Tn(x)2n−1∣=12n−1\begin{aligned} &\max _{-1 \leq x \leq 1}\left|\frac{T_{n}(x)}{2^{n-1}}\right| \leq \max _{-1 \leq x \leq 1}|w(x)| \\ &\max _{-1 \leq x \leq 1}\left|\frac{T_{n}(x)}{2^{n-1}}\right|=\frac{1}{2^{n-1}} \end{aligned}1x1max2n1Tn(x)1x1maxw(x)1x1max2n1Tn(x)=2n11
使用反证法证明:
假设max⁡−1≤x≤1∣Tn(x)2n−1∣>max⁡−1≤x≤1∣w(x)∣\max _{-1 \leq x \leq 1}\left|\frac{T_{n}(x)}{2^{n-1}}\right| > \max _{-1 \leq x \leq 1}|w(x)|1x1max2n1Tn(x)>1x1maxw(x)
具体证明如下:在这里插入图片描述
对于至少n−1n-1n1次多项式(给定了n+1n+1n+1个点),w(x)−Tn(x)2n−1w(x)-\frac{T_n{(x)}}{2^{n-1}}w(x)2n1Tn(x)nnn个根,矛盾。
这是书里摘出的证明
在这里插入图片描述

Tn(x)T_n(x)Tn(x)最高次项的系数是2n−12^{n-1}2n1的证明。
在这里插入图片描述

在这里插入图片描述

正交性质

在这里插入图片描述
注意xkx_kxkTn+1(x)=0T_{n+1}(x)=0Tn+1(x)=0, 不是Tn(x)=0T_n(x)=0Tn(x)=0的根.

证明:
在这里插入图片描述
在这里插入图片描述

以下几个图的f(xk)f(x_k)f(xk)Pn(xk)P_n(x_k)Pn(xk)是一个意思

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 有理插值

在这里插入图片描述
其中
在这里插入图片描述
在这里插入图片描述
例子:
在这里插入图片描述

1.5.1 有理插值误差分析

E(x)=f(x)−P(x)Q(x)=(x−x0)…(x−xm+n)(m+n+1)!Q2(x)[f(x)Q2(x)]x=ξ(m+n+1)E(x)=f(x)-\frac{P(x)}{Q(x)}=\frac{\left(x-x_{0}\right) \ldots\left(x-x_{m+n}\right)}{(m+n+1) ! Q^{2}(x)}\left[f(x) Q^{2}(x)\right]_{x=\xi}^{(m+n+1)}E(x)=f(x)Q(x)P(x)=(m+n+1)!Q2(x)(xx0)(xxm+n)[f(x)Q2(x)]x=ξ(m+n+1)

例子:

在这里插入图片描述

1.6 分段插值

单段拟合会出现Runge现象

在这里插入图片描述
在这里插入图片描述

1.6.1 分段线性插值

在这里插入图片描述
上图的h=x1−x0h=x_1-x_0h=x1x0

1.6.2 分段Hermite插值

在这里插入图片描述
保证拟合曲线导数的光滑性。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

归一化 Hermite Problem 形式
在这里插入图片描述
在这里插入图片描述

1.6.2.1 Hermite插值误差

对于H3H_3H3
在这里插入图片描述

在这里插入图片描述
Hermite赫米特多项式误差介于泰勒级数和拉格朗日之间

总结

拉格朗日插值和Newton插值形式不同,但是结果是一样的。可以互相转换。把拉格朗日插值和Newton插值和泰勒展式比较一下:

在这里插入图片描述

2. 近似

2.1 近似的一些概念

给出一个一般函数y=f(x)y=f(x)y=f(x),求一个多项式函数y=P(x)y=P(x)y=P(x),满足∣f(x)−P(x)∣<ε(x)|f(x)-P(x)|<\varepsilon(x)f(x)P(x)<ε(x)

在这里插入图片描述

例子:
在这里插入图片描述

2.2 帕德近似 (有理近似)

Rn,m(x)=Pn(x)Qm(x)Pn(x)=p0+p1x+p2x2+…+pnxnQm(x)=1+q1x+q2x2+…+qmxm\begin{aligned} &R_{n, m}(x) = \frac{P_{n}(x)}{Q_{m}(x)} \\ &P_{n}(x) = p_{0}+p_{1} x+p_{2} x^{2}+\ldots+p_{n} x^{n} \\ &Q_{m}(x) = 1+q_{1} x+q_{2} x^{2}+\ldots+q_{m} x^{m} \end{aligned}Rn,m(x)=Qm(x)Pn(x)Pn(x)=p0+p1x+p2x2++pnxnQm(x)=1+q1x+q2x2++qmxm

共有n+mn+mn+m个未知数。
在这里插入图片描述
给定n+mn+mn+m的大小,当n=mn=mn=mn=m+1n=m+1n=m+1近似误差最小。

在这里插入图片描述
例子:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连续形式:

在这里插入图片描述

3. 拟合

拟合:问题:给定一个曲线类型和一组点,在该类型的曲线中找出一条与这些点距离最小的曲线。
在这里插入图片描述
在这里插入图片描述

问题:如何评估误差?
有以下几种形式
在这里插入图片描述

3.1 最小二乘拟合

3.1.1 线性拟合

在这里插入图片描述

拟合类型:
y=f(x)=Ax+By=f(x)={A} x+{B}y=f(x)=Ax+B

给定点:
(xi,yi),i=1,2,…,n\left(x_{\mathrm{i}}, y_{\mathrm{i}}\right), i=1,2, \ldots, n(xi,yi),i=1,2,,n

使用最小二乘法

d(A,B)=∑i=1n[f(xi)−yi]2=∑i=1n[Axi+B−yi]2=∑i=1n[A2xi2+B2+yi2+2ABxi−2Axiyi−2Byi]=(∑i=1nxi2)A2+nB2+(2∑i=1nxi)AB−2(∑i=1nxiyi)A−2(∑i=1nyi)B+(∑i=1nyi2)\begin{aligned} d(A, B) &= \sum_{i = 1}^{n}\left[f\left(x_{i}\right)-y_{i}\right]^{2} = \sum_{i = 1}^{n}\left[A x_{i}+B-y_{i}\right]^{2} \\ &= \sum_{i = 1}^{n}\left[A^{2} x_{i}^{2}+B^{2}+y_{i}^{2}+2 A B x_{i}-2 A x_{i} y_{i}-2 B y_{i}\right] \\ & = \left(\sum_{i = 1}^{n} x_{i}^{2}\right) A^{2}+n B^{2}+\left(2 \sum_{i = 1}^{n} x_{i}\right) A B-2\left(\sum_{i = 1}^{n} x_{i} y_{i}\right) A-2\left(\sum_{i = 1}^{n} y_{i}\right) B+\left(\sum_{i = 1}^{n} y_{i}^{2}\right) \end{aligned}d(A,B)=i=1n[f(xi)yi]2=i=1n[Axi+Byi]2=i=1n[A2xi2+B2+yi2+2ABxi2Axiyi2Byi]=(i=1nxi2)A2+nB2+(2i=1nxi)AB2(i=1nxiyi)A2(i=1nyi)B+(i=1nyi2)

∂d(A,B)∂A=2(∑i=1nxi2)A+2(∑i=1nxi)B−2∑i=1nxiyi=0∂d(A,B)∂B=2nB+2(∑i=1nxi)A−2∑i=1nyi=0\begin{aligned} \frac{\partial d(A, B)}{\partial A} &= 2\left(\sum_{i = 1}^{n} x_{i}^{2}\right) A+2\left(\sum_{i = 1}^{n} x_{i}\right) B-2 \sum_{i = 1}^{n} x_{i} y_{i} = 0 \\ \frac{\partial d(A, B)}{\partial B} &= 2 n B+2\left(\sum_{i = 1}^{n} x_{i}\right) A-2 \sum_{i = 1}^{n} y_{i} = 0 \end{aligned}Ad(A,B)Bd(A,B)=2(i=1nxi2)A+2(i=1nxi)B2i=1nxiyi=0=2nB+2(i=1nxi)A2i=1nyi=0

求解上面的线性方程组可以得到AAABBB

3.1.2 指数拟合

在这里插入图片描述

拟合类型
y=f(x)=AxMy=f(x)=A x^{M}y=f(x)=AxM其中MMM是已知的。

给定点:
(xi,yi),i=1,2,…,n\left(x_{\mathrm{i}}, y_{\mathrm{i}}\right), i=1,2, \ldots, n(xi,yi),i=1,2,,n

应用最小二乘法:
E(A)=∑i=1n(AxiM−yi)2→min⁡E′(A)=2∑i=1n[(AxiM−yi)xiM]=2∑i=1n(Axi2M−xiMyi)=2(∑i=1nxi2M)A−2∑i=1nxiMyi=0A=∑i=1nxiMyi∑i=1nxi2M\begin{aligned} &E(A) = \sum_{i = 1}^{n}\left(A x_{i}^{M}-y_{i}\right)^{2} \rightarrow \min \\ &E^{\prime}(A) = 2 \sum_{i = 1}^{n}\left[\left(A x_{i}^{M}-y_{i}\right) x_{i}^{M}\right] = 2 \sum_{i = 1}^{n}\left(A x_{i}^{2 M}-x_{i}^{M} y_{i}\right) \\ & = 2\left(\sum_{i = 1}^{n} x_{i}^{2 M}\right) A-2 \sum_{i = 1}^{n} x_{i}^{M} y_{i} = 0 \\ &A = \frac{\sum_{i = 1}^{n} x_{i}^{M} y_{i}}{\sum_{i = 1}^{n} x_{i}^{2 M}} \end{aligned}E(A)=i=1n(AxiMyi)2minE(A)=2i=1n[(AxiMyi)xiM]=2i=1n(Axi2MxiMyi)=2(i=1nxi2M)A2i=1nxiMyi=0A=i=1nxi2Mi=1nxiMyi

另一种形式的指数拟合:
拟合形式:
y=CeAxy=C e^{A x}y=CeAx

给定点:
(xi,yi),i=1,2,…,n\left(x_{\mathrm{i}}, y_{\mathrm{i}}\right), i=1,2, \ldots, n(xi,yi),i=1,2,,n

应用最小二乘法:
E(A,C)=∑i=1n(CeAxi−yi)2→min⁡∂E∂A=2∑i=1n[(CeAxi−yi)CeAxixi]=2∑i=1n(C2e2Axixi−CeAxixiyi)=0∂E∂C=2∑i=1n[(CeAxi−yi)eAxi]=2∑i=1n(Ce2Axi−eAxiyi)=0\begin{aligned} &E(A, C) = \sum_{i = 1}^{n}\left(C e^{A x_{i}}-y_{i}\right)^{2} \rightarrow \min \\ &\frac{\partial E}{\partial A} = 2 \sum_{i = 1}^{n}\left[\left(C e^{A x_{i}}-y_{i}\right) C e^{A x_{i}} x_{i}\right] = 2 \sum_{i = 1}^{n}\left(C^{2} e^{2 A x_{i}} x_{i}-C e^{A x_{i}} x_{i} y_{i}\right) = 0 \\ &\frac{\partial E}{\partial C} = 2 \sum_{i = 1}^{n}\left[\left(C e^{A x_{i}}-y_{i}\right) e^{A x_{i}}\right] = 2 \sum_{i = 1}^{n}\left(C e^{2 A x_{i}}-e^{A x_{i}} y_{i}\right) = 0 \end{aligned}E(A,C)=i=1n(CeAxiyi)2minAE=2i=1n[(CeAxiyi)CeAxixi]=2i=1n(C2e2AxixiCeAxixiyi)=0CE=2i=1n[(CeAxiyi)eAxi]=2i=1n(Ce2AxieAxiyi)=0

这是非线性方程不好解得AAACCC。求解有两个思路:一是使用优化的方法比如单纯形法,二是使用Newton法迭代,另外可以考虑线性化
y=CeAxln⁡(y)=Ax+ln⁡(C)Y=AX+B\begin{aligned} & y = C e^{A x} \\ &\ln (y) = A x+\ln (C) \\ &Y = A X+B \end{aligned}y=CeAxln(y)=Ax+ln(C)Y=AX+B

其中
Y=ln⁡(y),X=x,B=ln⁡(C)Y=\ln (y), X=x, B=\ln (C)Y=ln(y),X=x,B=ln(C)

在这里插入图片描述

3.1.3 其他形式拟合(线性化思想)

在这里插入图片描述

3.1.4 一般线性最小二乘法形式

在这里插入图片描述
在这里插入图片描述

3.1.5 非线性最小二乘法

在这里插入图片描述

在这里插入图片描述

在一般最小二乘的基础上添加权重。

由此导出:Levenberg-Marquardt方法

3.1.5.1 Levenberg-Marquardt方法

回顾我们的残差函数
在这里插入图片描述
下面推导Gradient descent Method和Gauss-Newton Method下得到的优化方法需要的步长hhh
在这里插入图片描述

在这里插入图片描述
Gauss-Newton方法推导步长。
在这里插入图片描述
各种方法下的步长对比:

在这里插入图片描述
在这里插入图片描述

ρ(h)的表达式\rho(h)的表达式ρ(h)的表达式的推导的第二行是把上面的hlmh_{lm}hlm带进去消掉rrr

先看下面红色框框的了解迭代的思路:

在这里插入图片描述
巧妙得到JJJ的递推式。
在这里插入图片描述
(这一页没有讲清楚)

3.1.6 多项式拟合

按照3.1.4. 多项式拟合取
在这里插入图片描述

y=f(x)=anxn+an−1xn−1+…+a1x+a0y=f(x)=a_{{n}} x^{{n}}+a_{{n}-1} x^{{n}-1}+\ldots+a_{1} x+a_{0}y=f(x)=anxn+an1xn1++a1x+a0

在这里插入图片描述

转化为解线性方程组求解aja_jaj

3.1.7 拟合的问题

欠拟合和过拟合
在这里插入图片描述

多项式摆动

在这里插入图片描述

3.2 基于优化的拟合

在这里插入图片描述

在这里插入图片描述

逻辑回归基于优化的方法(查看本文的3.4.1逻辑回归):

在这里插入图片描述

3.3 基于概率分布的模型

在这里插入图片描述
在这里插入图片描述

3.4 非线性曲线拟合

3.4.1 逻辑回归

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

优化方法逻辑回归参考3.2 基于优化的方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5 三角拟合

在这里插入图片描述
有周期性的数据,可以用三角拟合。
在这里插入图片描述
当数据的周期不等于2π2\pi2π,进行延拓。

{xˉi=2πxi/Pyˉi=yi,i=0,1,2,…,n\left\{\begin{array}{c} \bar{x}_{i}=2 \pi x_{i} / P \\ \bar{y}_{i}=y_{i} \end{array}, i=0,1,2, \ldots, n\right.{xˉi=2πxi/Pyˉi=yi,i=0,1,2,,n

在这里插入图片描述

对于拟合确保n>2mn>2mn>2m

在这里插入图片描述
三角拟合其实是使用了傅里叶级数,下面展示了连续傅里叶级数和离散的傅里叶级数。
在这里插入图片描述

3.5.1 三角拟合的正交性质

在这里插入图片描述
我们规定xkx_kxk[−π,π][-\pi,\pi][π,π]之中均匀取点,第一个点是−π-\piπ,最后一个点是π\piπ,xk=−π+2kπn,k=1,⋯,nx_k=-\pi+\frac{2k\pi}{n},k=1,\cdots,nxk=π+n2,k=1,,n
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
最小二乘法求系数。

在这里插入图片描述

偶函数和基函数下可以简化
在这里插入图片描述

3.6 分段三次样条曲线拟合

在这里插入图片描述

过点、0阶、1阶、2阶连续,四个条件约束的三次曲线。
和Hermite插值比较:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例子:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.7 Bezier曲线拟合

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.8 Matlab函数

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_72157.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内存映射(1)

内存映射 将磁盘文件中的数据映射到内存&#xff0c;用户通过修改内存就能修改磁盘文件 相关的系统调用&#xff1a; void *mmap() 功能&#xff1a;将一个文件或设备的数据映射到内存中 参数&#xff1a; void *addr : NULL 由内核指定length : 要映射的数据长度&#xff0c;…

JUC并发编程——进程与线程

目录一、进程和线程的概念1.1 进程1.2 线程1.3 进程与线程对比二、并行和并发的概念三、线程基本应用3.1 多线程应用——异步调用一、进程和线程的概念 1.1 进程 ● 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就必须将指令加载至 …

【Mysql系列】Mysql之ACID实现原理

ACID 原子性 事务不可分割&#xff0c;要么全部执行&#xff0c;要么都不执行。原理是使用undo log。undo log&#xff0c;当事务对数据库进行修改的时候&#xff0c;会生成对应的undo log。 持久性 事务提交后&#xff0c;对于数据库的改变是永久性的。实现原理通过redo l…

超详细解读!数据库表分区技术全攻略

更多内容可以关注微信公众号&#xff1a;老程序员刘飞 分区的定义 分区是一种数据库优化技术&#xff0c;它可以将大表按照一定的规则分成多个小表&#xff0c;从而提高查询和维护的效率。在分区的过程中&#xff0c;数据库会将数据按照分区规则分配到不同的分区中&#xff0…

排序算法-java实现

文章目录冒泡排序选择排序插入排序快速排序希尔排序冒泡排序 原理&#xff1a; 依次比较两个相邻的元素&#xff0c;如果它们顺序错误就把它们交换过来。 时间复杂度&#xff1a; 若文件的初始状态是正序的&#xff0c;一趟扫描即可完成排序。所需的关键字比较次数C和记录移…

graphviz:实现图文件的可视化

1. graphviz下载安装 参考的是这篇文章&#xff1a;https://blog.csdn.net/qq_37085158/article/details/126421102 graphviz的下载地址为&#xff1a;https://graphviz.org/download/ 2. graphviz的使用步骤 将edge文件转化成dot文件WinR&#xff0c;输入cmd&#xff0c;在…

linux rsync服务端安装和windows客户端备份

安装&#xff1a;yum install -y rsync 密码内容&#xff1a;zhangsan:123456 配置文件&#xff1a;/etc/rsyncd.conf内容 # /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man page for more options. # configuration example: uid root gi…

LVGL Styles

LVGL StylesGet started按钮添加标签按钮添加风格滑动条值显示StylesSize stylesBackground stylesBorder stylesOutline stylesShadow stylesImage stylesArc stylesText stylesLine stylesGet started 按钮添加标签 /*** brief 按钮事件回调函数* param e */ void btn_eve…

网络有线无线配置

一、需求 在无线接入区内&#xff0c;当Lsw1的上联口出现故障时&#xff0c;需要通过AP1-LSw1-LSw2-LSw3的路径访问公网server3。这是因为AP1通过无线网连接到LSw1&#xff0c;而LSw1与LSw3之间的链路出现故障&#xff0c;无法直接访问公网server3。因此&#xff0c;流量需要通…

一文说清WMS系统与MES系统,SRM系统,ERP系统集成的好处

由于制造过程的多样性、复杂性、业务流程的多样性和复杂性&#xff0c;因此&#xff0c;制造企业的信息化系统包括WMS、SRM、MES等管理系统&#xff0c;但它们的管理方向却各不相同&#xff0c;例如WMS这个是管理仓库、 SRM是管理公司的供应商、 MES是管理车间的生产制造的等等…

决策树、随机森林、GBDT、XGBoost

文章目录 1. 引入 1.1 决策树1.2 随机森林1.3 GBDT(Gradient Boosting Decision Tree)梯度提升决策树1.4 XGBoost&#xff08;eXtreme Gradient Boosting&#xff09;极端梯度提升2. 代码实现 2.1 决策树&随机森林&GBDT&XGBoost 2.1.1 分类2.1.2 回归2.1.3 显示模…

SpringCloud(二)配置中心

配置中心Nacos配置中心多环境共享Nacos集群搭建Nacos配置中心 作用&#xff1a; 统一配置管理配置自动刷新&#xff0c;热更新 实现&#xff1a; 统一配置管理 在nacos服务端&#xff0c;配置管理配置列表中新建配置了解配置获取的步骤&#xff1a; 项目启动->读取nacos中…

全开源无加密的RuleApp文章社区APP客户端源码

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 开源无加密的文章社区客户端源码分享 RuleApp文章社区&#xff0c;VIP会员&#xff0c;写作投稿积分商城&#xff0c;付费模块集成&#xff0c;多平台兼容这是一款开源免费&#xff0c;界…

最全es6数组方法

1.arr.push()从后面添加元素,返回值为添加完后的数组的长度 let arr [1,2,3,4,5] console.log(arr.push(5)) // 6 console.log(arr) // [1,2,3,4,5,5]2.arr.pop()从后面删除元素,只能是一个&#xff0c;返回值是删除的元素 let arr [1,2,3,4,5] console.log(arr.pop())//5 …

【Kubernetes 企业项目实战】08、简化 K8s 应用部署工具 Helm V3 入门到企业实战

目录 一、Helm 介绍 1.1 Helm 是什么 1.2 Helm 解决了什么痛点 1.3 Helm 相关组件及概念 1.4 Helm v3 版本变化 1.5 总结 二、安装 Helm 2.1 下载 Helm 2.2 安装 Helm 2.3 配置国内存放 chart 仓库的地址 三、Helm 基本使用 3.1 搜索和下载 Chart 3.2 部署 chart …

Tencent OS下逻辑卷(LVM)创建和扩容

测试环境是一个虚拟机&#xff0c;原配置1个虚拟盘。 创建4个虚拟盘&#xff0c;每盘2G并挂载在虚拟主机上&#xff0c;启动虚拟主机开始测试。 LVM英文是Logical Volume Manager&#xff0c;直接翻译为逻辑卷管理。 这种磁盘管理模式比较灵活&#xff0c;在磁盘空间不足的时…

WSO2通过设定Role来订阅对应的Api

WSO2通过设定Role来订阅对应的Api1. Add Role And User1.0 Add Role1.1 Add User 1.2 Add Mapping2. Upload Api2.1 Upload Three Apis2.2 Inspection3. AwakeningWSO2安装使用的全过程详解: https://blog.csdn.net/weixin_43916074/article/details/127987099. 1. Add Role An…

UnRaid虚拟机安装OpenWrt软路由

文章目录0、前言1、Openwrt虚拟机安装1.1、前提&#xff0c;需要先在UnRaid中开启虚拟机&#xff1a;1.2、下载OpenWrt虚拟机镜像并上传至UnRaid共享文件夹1.3、创建OpenWrt虚拟机2、开启并设置OpenWrt虚拟机2.1、修改OpenWrt管理ip2.2、OpenWrt的上网设置0、前言 最近折腾了很…

产品未出 百度朋友圈“开演”

ChatGPT这股AI龙卷风刮到国内时&#xff0c;人们齐刷刷望向百度&#xff0c;这家在国内对AI投入最高的公司最终出手了&#xff0c;大模型新项目文心一言&#xff08;ERNIE Bot&#xff09;将在3月正式亮相&#xff0c;对标微软投资的ChatGPT。 文心一言产品未出&#xff0c;百…

江南爱窗帘十大品牌 | 窗帘的定做有哪些技巧和注意事项?

人们的家居空间中总是会有各式各样的窗帘存在的&#xff0c;为了使得窗帘的品质更加的过关&#xff0c;人们在选购时&#xff0c;总是会希望可以购买到高品质的。一般情况下&#xff0c;会采用定制这种方法去进行制作。那么&#xff0c;窗帘的定做有哪些注意事项?窗帘定制技巧…