我们要干的是这个
f
p
(
x
,
y
)
=
A
x
2
+
B
y
2
+
C
x
y
+
D
x
+
E
y
+
F
f_p(x,y)=Ax^2+By^2+Cxy+Dx+Ey+F
fp(x,y)=Ax2+By2+Cxy+Dx+Ey+F
误差I的变量为参数A,B,C,D,E,F,我们要找的最小化误差I的参数:
I
(
A
,
B
,
C
,
D
,
E
,
F
)
=
I
=
∑
p
(
ϕ
p
(
x
,
y
)
−
f
p
(
x
,
y
)
)
2
I(A,B,C,D,E,F) = I = \sum_p (\phi_p(x,y)-f_p(x,y))^2
I(A,B,C,D,E,F)=I=p∑(ϕp(x,y)−fp(x,y))2
求偏微:
∂
I
∂
s
=
2
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
f
p
∂
s
s
∈
{
A
,
B
,
C
,
D
,
E
,
F
}
\frac{\partial I}{\partial s} = 2 \sum_p(\phi_p-f_p)·\frac{\partial f_p}{\partial s}\\ s \in \{A,B,C,D,E,F\}
∂s∂I=2p∑(ϕp−fp)⋅∂s∂fps∈{A,B,C,D,E,F}
写成列向量的形式:
(
∂
I
∂
A
∂
I
∂
B
∂
I
∂
C
∂
I
∂
D
∂
I
∂
E
∂
I
∂
F
)
=
(
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
ϕ
p
∂
A
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
ϕ
p
∂
B
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
ϕ
p
∂
C
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
ϕ
p
∂
D
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
ϕ
p
∂
E
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
ϕ
p
∂
F
)
\left( \begin{matrix} \frac{\partial I}{\partial A}\\ \frac{\partial I}{\partial B}\\ \frac{\partial I}{\partial C}\\ \frac{\partial I}{\partial D}\\ \frac{\partial I}{\partial E}\\ \frac{\partial I}{\partial F}\\ \end{matrix} \right)= \left( \begin{matrix} \sum_p(\phi_p - f_p)·\frac{\partial \phi_p}{\partial A} \\ \sum_p(\phi_p - f_p)·\frac{\partial \phi_p}{\partial B} \\ \sum_p(\phi_p - f_p)·\frac{\partial \phi_p}{\partial C} \\ \sum_p(\phi_p - f_p)·\frac{\partial \phi_p}{\partial D} \\ \sum_p(\phi_p - f_p)·\frac{\partial \phi_p}{\partial E} \\ \sum_p(\phi_p - f_p)·\frac{\partial \phi_p}{\partial F} \end{matrix} \right)
⎝⎜⎜⎜⎜⎜⎜⎛∂A∂I∂B∂I∂C∂I∂D∂I∂E∂I∂F∂I⎠⎟⎟⎟⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎛∑p(ϕp−fp)⋅∂A∂ϕp∑p(ϕp−fp)⋅∂B∂ϕp∑p(ϕp−fp)⋅∂C∂ϕp∑p(ϕp−fp)⋅∂D∂ϕp∑p(ϕp−fp)⋅∂E∂ϕp∑p(ϕp−fp)⋅∂F∂ϕp⎠⎟⎟⎟⎟⎟⎟⎟⎟⎞
对于偏微
∂
I
∂
s
=
2
∑
p
(
ϕ
p
−
f
p
)
⋅
∂
f
p
∂
s
=
0
\frac{\partial I}{\partial s} = 2 \sum_p(\phi_p-f_p)·\frac{\partial f_p}{\partial s} = 0\\
∂s∂I=2p∑(ϕp−fp)⋅∂s∂fp=0
则有:
(
∑
p
ϕ
p
⋅
∂
ϕ
p
∂
A
∑
p
ϕ
p
⋅
∂
ϕ
p
∂
B
∑
p
ϕ
p
⋅
∂
ϕ
p
∂
C
∑
p
ϕ
p
⋅
∂
ϕ
p
∂
D
∑
p
ϕ
p
⋅
∂
ϕ
p
∂
E
∑
p
ϕ
p
⋅
∂
ϕ
p
∂
F
)
=
(
∑
p
f
p
⋅
∂
ϕ
p
∂
A
∑
p
f
p
⋅
∂
ϕ
p
∂
B
∑
p
f
p
⋅
∂
ϕ
p
∂
C
∑
p
f
p
⋅
∂
ϕ
p
∂
D
∑
p
f
p
⋅
∂
ϕ
p
∂
E
∑
p
f
p
⋅
∂
ϕ
p
∂
F
)
\left( \begin{matrix} \sum_p \phi_p·\frac{\partial \phi_p}{\partial A}\\ \sum_p \phi_p·\frac{\partial \phi_p}{\partial B}\\ \sum_p \phi_p·\frac{\partial \phi_p}{\partial C}\\ \sum_p \phi_p·\frac{\partial \phi_p}{\partial D}\\ \sum_p \phi_p·\frac{\partial \phi_p}{\partial E}\\ \sum_p \phi_p·\frac{\partial \phi_p}{\partial F}\\ \end{matrix} \right)= \left( \begin{matrix} \sum_p f_p·\frac{\partial \phi_p}{\partial A}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial B}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial C}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial D}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial E}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial F}\\ \end{matrix} \right)
⎝⎜⎜⎜⎜⎜⎜⎜⎜⎛∑pϕp⋅∂A∂ϕp∑pϕp⋅∂B∂ϕp∑pϕp⋅∂C∂ϕp∑pϕp⋅∂D∂ϕp∑pϕp⋅∂E∂ϕp∑pϕp⋅∂F∂ϕp⎠⎟⎟⎟⎟⎟⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎛∑pfp⋅∂A∂ϕp∑pfp⋅∂B∂ϕp∑pfp⋅∂C∂ϕp∑pfp⋅∂D∂ϕp∑pfp⋅∂E∂ϕp∑pfp⋅∂F∂ϕp⎠⎟⎟⎟⎟⎟⎟⎟⎟⎞
将其展开:
∑
p
ϕ
p
⋅
∂
ϕ
p
∂
S
=
(
A
x
s
1
2
+
B
y
s
1
2
+
C
x
s
1
y
s
1
+
D
x
s
1
+
E
y
s
1
+
F
)
⋅
∂
ϕ
p
∂
S
+
(
A
x
s
2
2
+
B
y
s
2
2
+
C
x
s
2
y
s
2
+
D
x
s
2
+
E
y
s
2
+
F
)
⋅
∂
ϕ
p
∂
S
+
.
.
.
+
(
A
x
s
i
2
+
B
y
s
i
2
+
C
x
s
i
y
s
i
+
D
x
s
i
+
E
y
s
i
+
F
)
⋅
∂
ϕ
p
∂
S
+
.
.
.
+
(
A
x
s
n
2
+
B
y
s
n
2
+
C
x
s
n
y
s
n
+
D
x
s
n
+
E
y
s
n
+
F
)
⋅
∂
ϕ
p
∂
S
{
s
1
,
s
2
,
.
.
.
s
n
}
∈
p
\sum_p \phi_p·\frac{\partial \phi_p}{\partial S} = ( Ax_{s1}^2 + By_{s1}^2+Cx_{s1}y_{s1}+Dx_{s1}+Ey_{s1}+F)·\frac{\partial \phi_p}{\partial S} \\ + (Ax_{s2}^2 + By_{s2}^2+Cx_{s2}y_{s2}+Dx_{s2}+Ey_{s2}+F)·\frac{\partial \phi_p}{\partial S} + \\ ...\\ + (Ax_{si}^2 + By_{si}^2+Cx_{si}y_{si}+Dx_{si}+Ey_{si}+F)·\frac{\partial \phi_p}{\partial S} + \\ ...\\ + (Ax_{sn}^2 + By_{sn}^2+Cx_{sn}y_{sn}+Dx_{sn}+Ey_{sn}+F)·\frac{\partial \phi_p}{\partial S}\\ \{s1,s2,...sn\} \in p
p∑ϕp⋅∂S∂ϕp=(Axs12+Bys12+Cxs1ys1+Dxs1+Eys1+F)⋅∂S∂ϕp+(Axs22+Bys22+Cxs2ys2+Dxs2+Eys2+F)⋅∂S∂ϕp+...+(Axsi2+Bysi2+Cxsiysi+Dxsi+Eysi+F)⋅∂S∂ϕp+...+(Axsn2+Bysn2+Cxsnysn+Dxsn+Eysn+F)⋅∂S∂ϕp{s1,s2,...sn}∈p
将其合并并改写:
(
A
∑
x
p
2
+
B
∑
y
p
2
+
C
∑
x
p
y
p
+
D
∑
x
p
+
E
∑
y
p
+
F
)
⋅
∂
ϕ
p
∂
S
=
(
∑
x
p
2
∂
ϕ
p
∂
S
,
∑
y
p
2
∂
ϕ
p
∂
S
,
∑
x
p
y
p
∂
ϕ
p
∂
S
,
∑
x
p
∂
ϕ
p
∂
S
,
∑
y
p
∂
ϕ
p
∂
S
,
∂
ϕ
p
∂
S
)
)
⋅
(
A
B
C
D
E
F
)
( A\sum x_p^2 + B\sum y_p^2 + C\sum x_p y_p + D \sum x_p + E\sum y_p + F) ·\frac{\partial \phi_p}{\partial S} \\ = \left( \begin{matrix} \sum x_p^2\frac{\partial \phi_p}{\partial S}, \sum y_p^2\frac{\partial \phi_p}{\partial S}, \sum x_p y_p\frac{\partial \phi_p}{\partial S}, \sum x_p\frac{\partial \phi_p}{\partial S}, \sum y_p\frac{\partial \phi_p}{\partial S}, \frac{\partial \phi_p}{\partial S}) \end{matrix} \right) · \left( \begin{matrix} A\\ B\\ C\\ D\\ E\\ F\\ \end{matrix} \right)
(A∑xp2+B∑yp2+C∑xpyp+D∑xp+E∑yp+F)⋅∂S∂ϕp=(∑xp2∂S∂ϕp,∑yp2∂S∂ϕp,∑xpyp∂S∂ϕp,∑xp∂S∂ϕp,∑yp∂S∂ϕp,∂S∂ϕp))⋅⎝⎜⎜⎜⎜⎜⎜⎛ABCDEF⎠⎟⎟⎟⎟⎟⎟⎞
我们将S全部展开,并定义系数矩阵为A:
A
=
(
∑
x
p
2
∂
ϕ
p
∂
A
,
∑
y
p
2
∂
ϕ
p
∂
A
,
∑
x
p
y
p
∂
ϕ
p
∂
A
,
∑
x
p
∂
ϕ
p
∂
A
,
∑
y
p
∂
ϕ
p
∂
A
,
∂
ϕ
p
∂
A
∑
x
p
2
∂
ϕ
p
∂
B
,
∑
y
p
2
∂
ϕ
p
∂
B
,
∑
x
p
y
p
∂
ϕ
p
∂
B
,
∑
x
p
∂
ϕ
p
∂
B
,
∑
y
p
∂
ϕ
p
∂
B
,
∂
ϕ
p
∂
B
∑
x
p
2
∂
ϕ
p
∂
C
,
∑
y
p
2
∂
ϕ
p
∂
C
,
∑
x
p
y
p
∂
ϕ
p
∂
C
,
∑
x
p
∂
ϕ
p
∂
C
,
∑
y
p
∂
ϕ
p
∂
C
,
∂
ϕ
p
∂
C
∑
x
p
2
∂
ϕ
p
∂
D
,
∑
y
p
2
∂
ϕ
p
∂
D
,
∑
x
p
y
p
∂
ϕ
p
∂
D
,
∑
x
p
∂
ϕ
p
∂
D
,
∑
y
p
∂
ϕ
p
∂
D
,
∂
ϕ
p
∂
D
∑
x
p
2
∂
ϕ
p
∂
E
,
∑
y
p
2
∂
ϕ
p
∂
E
,
∑
x
p
y
p
∂
ϕ
p
∂
E
,
∑
x
p
∂
ϕ
p
∂
E
,
∑
y
p
∂
ϕ
p
∂
E
,
∂
ϕ
p
∂
E
∑
x
p
2
∂
ϕ
p
∂
F
,
∑
y
p
2
∂
ϕ
p
∂
F
,
∑
x
p
y
p
∂
ϕ
p
∂
F
,
∑
x
p
∂
ϕ
p
∂
F
,
∑
y
p
∂
ϕ
p
∂
F
,
∂
ϕ
p
∂
F
)
A = \left( \begin{matrix} \sum x_p^2\frac{\partial \phi_p}{\partial A},\sum y_p^2\frac{\partial \phi_p}{\partial A},\sum x_p y_p\frac{\partial \phi_p}{\partial A},\sum x_p\frac{\partial \phi_p}{\partial A},\sum y_p\frac{\partial \phi_p}{\partial A},\frac{\partial \phi_p}{\partial A}\\ \sum x_p^2\frac{\partial \phi_p}{\partial B},\sum y_p^2\frac{\partial \phi_p}{\partial B},\sum x_p y_p\frac{\partial \phi_p}{\partial B},\sum x_p\frac{\partial \phi_p}{\partial B},\sum y_p\frac{\partial \phi_p}{\partial B},\frac{\partial \phi_p}{\partial B}\\ \sum x_p^2\frac{\partial \phi_p}{\partial C},\sum y_p^2\frac{\partial \phi_p}{\partial C},\sum x_p y_p\frac{\partial \phi_p}{\partial C},\sum x_p\frac{\partial \phi_p}{\partial C},\sum y_p\frac{\partial \phi_p}{\partial C},\frac{\partial \phi_p}{\partial C}\\ \sum x_p^2\frac{\partial \phi_p}{\partial D},\sum y_p^2\frac{\partial \phi_p}{\partial D},\sum x_p y_p\frac{\partial \phi_p}{\partial D},\sum x_p\frac{\partial \phi_p}{\partial D},\sum y_p\frac{\partial \phi_p}{\partial D},\frac{\partial \phi_p}{\partial D}\\ \sum x_p^2\frac{\partial \phi_p}{\partial E},\sum y_p^2\frac{\partial \phi_p}{\partial E},\sum x_p y_p\frac{\partial \phi_p}{\partial E},\sum x_p\frac{\partial \phi_p}{\partial E},\sum y_p\frac{\partial \phi_p}{\partial E},\frac{\partial \phi_p}{\partial E}\\ \sum x_p^2\frac{\partial \phi_p}{\partial F},\sum y_p^2\frac{\partial \phi_p}{\partial F},\sum x_p y_p\frac{\partial \phi_p}{\partial F},\sum x_p\frac{\partial \phi_p}{\partial F},\sum y_p\frac{\partial \phi_p}{\partial F},\frac{\partial \phi_p}{\partial F}\\ \end{matrix} \right)
A=⎝⎜⎜⎜⎜⎜⎜⎜⎛∑xp2∂A∂ϕp,∑yp2∂A∂ϕp,∑xpyp∂A∂ϕp,∑xp∂A∂ϕp,∑yp∂A∂ϕp,∂A∂ϕp∑xp2∂B∂ϕp,∑yp2∂B∂ϕp,∑xpyp∂B∂ϕp,∑xp∂B∂ϕp,∑yp∂B∂ϕp,∂B∂ϕp∑xp2∂C∂ϕp,∑yp2∂C∂ϕp,∑xpyp∂C∂ϕp,∑xp∂C∂ϕp,∑yp∂C∂ϕp,∂C∂ϕp∑xp2∂D∂ϕp,∑yp2∂D∂ϕp,∑xpyp∂D∂ϕp,∑xp∂D∂ϕp,∑yp∂D∂ϕp,∂D∂ϕp∑xp2∂E∂ϕp,∑yp2∂E∂ϕp,∑xpyp∂E∂ϕp,∑xp∂E∂ϕp,∑yp∂E∂ϕp,∂E∂ϕp∑xp2∂F∂ϕp,∑yp2∂F∂ϕp,∑xpyp∂F∂ϕp,∑xp∂F∂ϕp,∑yp∂F∂ϕp,∂F∂ϕp⎠⎟⎟⎟⎟⎟⎟⎟⎞
常数项b已知,则可表示为:
(
∑
x
p
2
∂
ϕ
p
∂
A
,
∑
y
p
2
∂
ϕ
p
∂
A
,
∑
x
p
y
p
∂
ϕ
p
∂
A
,
∑
x
p
∂
ϕ
p
∂
A
,
∑
y
p
∂
ϕ
p
∂
A
,
∂
ϕ
p
∂
A
∑
x
p
2
∂
ϕ
p
∂
B
,
∑
y
p
2
∂
ϕ
p
∂
B
,
∑
x
p
y
p
∂
ϕ
p
∂
B
,
∑
x
p
∂
ϕ
p
∂
B
,
∑
y
p
∂
ϕ
p
∂
B
,
∂
ϕ
p
∂
B
∑
x
p
2
∂
ϕ
p
∂
C
,
∑
y
p
2
∂
ϕ
p
∂
C
,
∑
x
p
y
p
∂
ϕ
p
∂
C
,
∑
x
p
∂
ϕ
p
∂
C
,
∑
y
p
∂
ϕ
p
∂
C
,
∂
ϕ
p
∂
C
∑
x
p
2
∂
ϕ
p
∂
D
,
∑
y
p
2
∂
ϕ
p
∂
D
,
∑
x
p
y
p
∂
ϕ
p
∂
D
,
∑
x
p
∂
ϕ
p
∂
D
,
∑
y
p
∂
ϕ
p
∂
D
,
∂
ϕ
p
∂
D
∑
x
p
2
∂
ϕ
p
∂
E
,
∑
y
p
2
∂
ϕ
p
∂
E
,
∑
x
p
y
p
∂
ϕ
p
∂
E
,
∑
x
p
∂
ϕ
p
∂
E
,
∑
y
p
∂
ϕ
p
∂
E
,
∂
ϕ
p
∂
E
∑
x
p
2
∂
ϕ
p
∂
F
,
∑
y
p
2
∂
ϕ
p
∂
F
,
∑
x
p
y
p
∂
ϕ
p
∂
F
,
∑
x
p
∂
ϕ
p
∂
F
,
∑
y
p
∂
ϕ
p
∂
F
,
∂
ϕ
p
∂
F
)
⋅
(
A
B
C
D
E
F
)
=
(
∑
p
f
p
⋅
∂
ϕ
p
∂
A
∑
p
f
p
⋅
∂
ϕ
p
∂
B
∑
p
f
p
⋅
∂
ϕ
p
∂
C
∑
p
f
p
⋅
∂
ϕ
p
∂
D
∑
p
f
p
⋅
∂
ϕ
p
∂
E
∑
p
f
p
⋅
∂
ϕ
p
∂
F
)
\left( \begin{matrix} \sum x_p^2\frac{\partial \phi_p}{\partial A},\sum y_p^2\frac{\partial \phi_p}{\partial A},\sum x_p y_p\frac{\partial \phi_p}{\partial A},\sum x_p\frac{\partial \phi_p}{\partial A},\sum y_p\frac{\partial \phi_p}{\partial A},\frac{\partial \phi_p}{\partial A}\\ \sum x_p^2\frac{\partial \phi_p}{\partial B},\sum y_p^2\frac{\partial \phi_p}{\partial B},\sum x_p y_p\frac{\partial \phi_p}{\partial B},\sum x_p\frac{\partial \phi_p}{\partial B},\sum y_p\frac{\partial \phi_p}{\partial B},\frac{\partial \phi_p}{\partial B}\\ \sum x_p^2\frac{\partial \phi_p}{\partial C},\sum y_p^2\frac{\partial \phi_p}{\partial C},\sum x_p y_p\frac{\partial \phi_p}{\partial C},\sum x_p\frac{\partial \phi_p}{\partial C},\sum y_p\frac{\partial \phi_p}{\partial C},\frac{\partial \phi_p}{\partial C}\\ \sum x_p^2\frac{\partial \phi_p}{\partial D},\sum y_p^2\frac{\partial \phi_p}{\partial D},\sum x_p y_p\frac{\partial \phi_p}{\partial D},\sum x_p\frac{\partial \phi_p}{\partial D},\sum y_p\frac{\partial \phi_p}{\partial D},\frac{\partial \phi_p}{\partial D}\\ \sum x_p^2\frac{\partial \phi_p}{\partial E},\sum y_p^2\frac{\partial \phi_p}{\partial E},\sum x_p y_p\frac{\partial \phi_p}{\partial E},\sum x_p\frac{\partial \phi_p}{\partial E},\sum y_p\frac{\partial \phi_p}{\partial E},\frac{\partial \phi_p}{\partial E}\\ \sum x_p^2\frac{\partial \phi_p}{\partial F},\sum y_p^2\frac{\partial \phi_p}{\partial F},\sum x_p y_p\frac{\partial \phi_p}{\partial F},\sum x_p\frac{\partial \phi_p}{\partial F},\sum y_p\frac{\partial \phi_p}{\partial F},\frac{\partial \phi_p}{\partial F}\\ \end{matrix} \right) · \left( \begin{matrix} A\\ B\\ C\\ D\\ E\\ F\\ \end{matrix} \right)= \left( \begin{matrix} \sum_p f_p·\frac{\partial \phi_p}{\partial A}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial B}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial C}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial D}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial E}\\ \sum_p f_p·\frac{\partial \phi_p}{\partial F}\\ \end{matrix} \right)
⎝⎜⎜⎜⎜⎜⎜⎜⎛∑xp2∂A∂ϕp,∑yp2∂A∂ϕp,∑xpyp∂A∂ϕp,∑xp∂A∂ϕp,∑yp∂A∂ϕp,∂A∂ϕp∑xp2∂B∂ϕp,∑yp2∂B∂ϕp,∑xpyp∂B∂ϕp,∑xp∂B∂ϕp,∑yp∂B∂ϕp,∂B∂ϕp∑xp2∂C∂ϕp,∑yp2∂C∂ϕp,∑xpyp∂C∂ϕp,∑xp∂C∂ϕp,∑yp∂C∂ϕp,∂C∂ϕp∑xp2∂D∂ϕp,∑yp2∂D∂ϕp,∑xpyp∂D∂ϕp,∑xp∂D∂ϕp,∑yp∂D∂ϕp,∂D∂ϕp∑xp2∂E∂ϕp,∑yp2∂E∂ϕp,∑xpyp∂E∂ϕp,∑xp∂E∂ϕp,∑yp∂E∂ϕp,∂E∂ϕp∑xp2∂F∂ϕp,∑yp2∂F∂ϕp,∑xpyp∂F∂ϕp,∑xp∂F∂ϕp,∑yp∂F∂ϕp,∂F∂ϕp⎠⎟⎟⎟⎟⎟⎟⎟⎞⋅⎝⎜⎜⎜⎜⎜⎜⎛ABCDEF⎠⎟⎟⎟⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎛∑pfp⋅∂A∂ϕp∑pfp⋅∂B∂ϕp∑pfp⋅∂C∂ϕp∑pfp⋅∂D∂ϕp∑pfp⋅∂E∂ϕp∑pfp⋅∂F∂ϕp⎠⎟⎟⎟⎟⎟⎟⎟⎟⎞
对于二次曲面方程,
f
p
(
x
,
y
)
=
A
x
2
+
B
y
2
+
C
x
y
+
D
x
+
E
y
+
F
f_p(x,y)=Ax^2+By^2+Cxy+Dx+Ey+F
fp(x,y)=Ax2+By2+Cxy+Dx+Ey+F
其中:
(
∂
ϕ
p
∂
A
∂
ϕ
p
∂
B
∂
ϕ
p
∂
C
∂
ϕ
p
∂
D
∂
ϕ
p
∂
E
∂
ϕ
p
∂
F
)
=
(
x
p
2
y
p
2
x
p
y
p
x
p
y
p
1
)
\left( \begin{matrix} \frac{\partial \phi_p}{\partial A}\\ \frac{\partial \phi_p}{\partial B}\\ \frac{\partial \phi_p}{\partial C}\\ \frac{\partial \phi_p}{\partial D}\\ \frac{\partial \phi_p}{\partial E}\\ \frac{\partial \phi_p}{\partial F}\\ \end{matrix} \right)= \left( \begin{matrix} x_p^2\\ y_p^2\\ x_p y_p\\ x_p\\ y_p\\ 1 \end{matrix} \right)
⎝⎜⎜⎜⎜⎜⎜⎜⎛∂A∂ϕp∂B∂ϕp∂C∂ϕp∂D∂ϕp∂E∂ϕp∂F∂ϕp⎠⎟⎟⎟⎟⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎛xp2yp2xpypxpyp1⎠⎟⎟⎟⎟⎟⎟⎞
带入到上面的矩阵:
(
∑
p
x
p
4
,
∑
p
x
p
2
y
p
2
,
∑
p
x
p
3
y
p
,
∑
p
x
p
3
,
∑
p
x
p
2
y
p
,
∑
p
x
p
2
∑
p
x
p
2
y
p
2
,
∑
p
y
p
4
,
∑
p
x
p
y
p
3
,
∑
p
x
p
y
p
2
,
∑
p
y
p
3
,
∑
p
y
p
2
∑
p
x
p
3
y
p
,
∑
p
x
p
y
p
3
,
∑
p
x
p
2
y
p
2
,
∑
p
x
p
2
y
p
,
∑
p
x
p
y
p
2
,
∑
p
x
p
y
p
∑
p
x
p
3
,
∑
p
x
p
y
p
2
,
∑
p
x
p
2
y
p
,
∑
p
x
p
2
,
∑
p
x
p
y
p
,
∑
p
x
p
∑
p
x
p
2
y
p
,
∑
p
y
p
3
,
∑
p
x
p
y
p
2
,
∑
p
x
p
y
p
,
∑
p
y
p
2
,
∑
p
y
p
∑
p
x
p
2
,
∑
p
y
p
2
,
∑
p
x
p
y
p
,
∑
p
x
p
,
∑
p
y
p
,
∑
p
1
)
⋅
(
A
B
C
D
E
F
)
=
(
∑
p
f
p
⋅
x
p
2
∑
p
f
p
⋅
y
p
2
∑
p
f
p
⋅
x
p
y
p
∑
p
f
p
⋅
x
p
∑
p
f
p
⋅
y
p
∑
p
f
p
)
\left( \begin{matrix} \sum_p x_p^4, \sum_p x_p^2y_p^2, \sum_p x_p^3 y_p, \sum_p x_p^3, \sum_p x_p^2 y_p, \sum_p x_p^2 \\ \sum_p x_p^2y_p^2, \sum_p y_p^4, \sum_p x_p y_p^3, \sum_p x_p y_p^2, \sum_p y_p^3, \sum_p y_p^2\\ \sum_p x_p^3 y_p, \sum_p x_p y_p^3, \sum_p x_p^2 y_p^2, \sum_p x_p^2 y_p, \sum_p x_p y_p^2, \sum_p x_p y_p \\ \sum_p x_p^3, \sum_p x_p y_p^2, \sum_p x_p^2 y_p, \sum_p x_p^2, \sum_p x_p y_p, \sum_p x_p \\ \sum_p x_p^2 y_p, \sum_p y_p^3, \sum_p x_p y_p^2, \sum_p x_p y_p, \sum_p y_p^2, \sum_p y_p \\ \sum_p x_p^2, \sum_p y_p^2, \sum_p x_p y_p, \sum_p x_p, \sum_p y_p, \sum_p 1 \\ \end{matrix} \right) · \left( \begin{matrix} A\\ B\\ C\\ D\\ E\\ F\\ \end{matrix} \right)= \left( \begin{matrix} \sum_p f_p·x_p^2\\ \sum_p f_p·y_p^2\\ \sum_p f_p·x_p y_p\\ \sum_p f_p·x_p\\ \sum_p f_p·y_p\\ \sum_p f_p\\ \end{matrix} \right)
⎝⎜⎜⎜⎜⎜⎜⎛∑pxp4,∑pxp2yp2,∑pxp3yp,∑pxp3,∑pxp2yp,∑pxp2∑pxp2yp2,∑pyp4,∑pxpyp3,∑pxpyp2,∑pyp3,∑pyp2∑pxp3yp,∑pxpyp3,∑pxp2yp2,∑pxp2yp,∑pxpyp2,∑pxpyp∑pxp3,∑pxpyp2,∑pxp2yp,∑pxp2,∑pxpyp,∑pxp∑pxp2yp,∑pyp3,∑pxpyp2,∑pxpyp,∑pyp2,∑pyp∑pxp2,∑pyp2,∑pxpyp,∑pxp,∑pyp,∑p1⎠⎟⎟⎟⎟⎟⎟⎞⋅⎝⎜⎜⎜⎜⎜⎜⎛ABCDEF⎠⎟⎟⎟⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎛∑pfp⋅xp2∑pfp⋅yp2∑pfp⋅xpyp∑pfp⋅xp∑pfp⋅yp∑pfp⎠⎟⎟⎟⎟⎟⎟⎞
最后附上代码
import numpy as np
import pandas as pd
import mayavi.mlab as ml
# p点数据
p =[0.2,0.24,0.25,0.26,0.25,0.25,0.25,0.26,0.26,0.29,0.25,0.29,0.27,0.31,0.3,0.3,0.26,0.28,0.29,0.26,0.26,0.26,0.26,0.29,0.41,0.41,0.37,0.37,0.38,0.35,0.34,0.35,0.35,0.34,0.35,0.35,0.41,0.42,0.42,0.41,0.4,0.39,0.39,0.38,0.36,0.36,0.36,0.36,0.3,0.36,0.4,0.43,0.45,0.45,0.51,0.42,0.4,0.37,0.37,0.37]
z = np.array(p).reshape(15,-1)
x,y = np.linspace(0,1,4),np.linspace(0,1,15) # 刻度
G = np.zeros((6,6)) # 创建6X6矩阵
F = np.zeros((6,1))
xp,yp = np.meshgrid(x,y) # 坐标分离
fp = z # 按照公式的字母写,这个无所谓
# 系数矩阵A
g = [
[xp**4 ,xp**2*yp**2, xp**3*yp, xp**3, xp**2*yp, xp**2,],
[xp**2*yp**2,yp**4, xp*yp**3, xp*yp**2, yp**3, yp**2,],
[xp**3*yp, xp*yp**3, xp**2*yp**2, xp**2*yp, xp*yp**2, xp*yp],
[xp**3, xp*yp**2, xp**2*yp, xp*yp, yp**2, xp],
[xp**2*yp, yp**3, xp*yp**2, xp*yp, yp**2, yp],
[xp**2, yp**2, xp*yp, xp, yp, len(p)],
]
# 常数b
f = [fp*xp**2, fp*yp**2,fp*xp*yp,fp*xp,fp*yp,fp]
# 对p求和
for i in range(6):
F[i] = np.sum(f[i])
for j in range(6):
G[i,j] = np.sum(g[i][j])
# 求解线性方程组
R = np.linalg.solve(G,F)
A,B,C,D,E,F = R
# 带入方程
phi = lambda x,y:A*x**2 + B*y**2 + C*x*y + D*x + E*y * F
# 利用mayavi绘制
ml.surf(xp,yp,fp,representation='wireframe')
ml.points3d(xp,yp,fp,fp,scale_factor=.05)
ml.surf(xp,yp,phi(xp,yp),opacity=0.5)
ml.outline()
ml.show()
有空再写这个线性方程在的迭代求解,跟着PDE回头再说。。