五采样点离散求导

阅读时请注意:本篇的内容来自于自己做的一套近似模拟,市面上可能已经有类似模拟。也有可能跟市面上的不同,这里的导数结果不是通用结果。

对于给定五个等距采样点s i , ( i = − 2 , − 1 , 0 , 1 , 2 ) s_i, (i=-2,-1,0,1,2)si,(i=2,1,0,1,2)。可做关于这五个点的离散导数(本质只有四个点,中间的点将被忽略)

先给这五个点分配五个顶点坐标:( i , s i ) , ( i = − 2 , − 1 , 0 , 1 , 2 ) (i,s_i), (i = -2,-1,0,1,2)(i,si),(i=2,1,0,1,2)

这里用四次多项式函数f q f_qfq近似描绘这五个点
f q ( x ) = ∑ i = 0 4 a i x i f_q(x) = \sum_{i=0}^{4}{a_ix^i}fq(x)=i=04aixi
先认为采样间距为1,之后来更改采样间距。
现在利用给定五个坐标点来求所有的系数a k , ( k = 0 , 1 , 2 , 3 , 4 ) a_k, (k=0,1,2,3,4)ak,(k=0,1,2,3,4)
M q : = ( 16 − 8 4 − 2 1 1 − 1 1 − 1 1 0 0 0 0 1 1 1 1 1 1 16 8 4 2 1 ) , x ⃗ : = ( a 4 a 3 a 2 a 1 a 0 ) , y ⃗ : = ( s − 2 s − 1 s 0 s 1 s 2 ) M_q:= \begin{pmatrix} 16 & -8 & 4 & -2 & 1\\ 1 & -1 & 1 & -1 & 1\\ 0 & 0 & 0 & 0 & 1\\ 1 & 1 & 1 & 1 & 1\\ 16 & 8 & 4 & 2 & 1 \end{pmatrix},\vec{x}:=\begin{pmatrix} a_4\\ a_3\\ a_2\\ a_1\\ a_0 \end{pmatrix}, \vec{y}:=\begin{pmatrix} s_{-2}\\ s_{-1}\\ s_{0}\\ s_{1}\\ s_{2} \end{pmatrix}Mq:=161011681018410142101211111,x:=a4a3a2a1a0,y:=s2s1s0s1s2
M q x ⃗ = y ⃗ M_q\vec{x}=\vec{y}Mqx=y
x ⃗ = M q − 1 y ⃗ \vec{x}=M_q^{-1}\vec{y}x=Mq1y
M q − 1 = ( 1 24 − 1 6 1 4 − 1 6 1 24 − 1 12 1 6 0 − 1 6 1 12 − 1 24 2 3 − 5 4 2 3 − 1 24 1 12 − 2 3 0 2 3 − 1 12 0 0 1 0 0 ) M_q^{-1} = \begin{pmatrix} \frac{1}{24} & -\frac{1}{6} & \frac{1}{4} & -\frac{1}{6} & \frac{1}{24}\\ -\frac{1}{12} & \frac{1}{6} & 0 & -\frac{1}{6} & \frac{1}{12}\\ -\frac{1}{24} & \frac{2}{3} & -\frac{5}{4} & \frac{2}{3} & -\frac{1}{24}\\ \frac{1}{12} & -\frac{2}{3} & 0 & \frac{2}{3} & -\frac{1}{12}\\ 0 & 0 & 1 & 0 & 0 \end{pmatrix}Mq1=241121241121061613232041045016161323202411212411210

这里我们知道
f q ′ ( 0 ) = a 1 f'_{q}(0)=a_1fq(0)=a1
所以我们只要M q − 1 M_q^{-1}Mq1的倒数第二行向量与y ⃗ \vec{y}y做内积即可。

结论

D [ s i ] : = 1 12 s − 2 + − 2 3 s − 1 + 2 3 s 1 + − 1 12 s 2 D[s_i]:=\frac{1}{12}s_{-2}+\frac{-2}{3}s_{-1}+\frac{2}{3}s_1+\frac{-1}{12}s_2D[si]:=121s2+32s1+32s1+121s2

采样间距

现在我们把像素间距从1改到δ > 0 \delta >0δ>0
其对应插值函数设为g q ( x ) g_q(x)gq(x)
很明显:
g q ( x ) = f q ( x δ ) g_q(x)=f_q(\frac{x}{\delta})gq(x)=fq(δx)
所以其导数为:
g q ′ ( 0 ) = ( d f q ( u ) d u ⋅ d u d x ) ∣ x : = 0 ( u : = x δ ) g'_q(0)=(\frac{df_q(u)}{du}\cdot \frac{du}{dx}) |_{x:=0} \quad (u:=\frac{x}{\delta})gq(0)=(dudfq(u)dxdu)x:=0(u:=δx)
D δ [ s i ] : = D [ s i ] δ = s − 2 − 8 s − 1 + 8 s 1 − s 2 12 δ D_{\delta}[s_i]:=\frac{D[s_i]}{\delta}=\frac{s_{-2}-8s_{-1}+8s_1-s_2}{12\delta}Dδ[si]:=δD[si]=12δs28s1+8s1s2


版权声明:本文为ruanluyu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。