sift高斯差分函数泰勒展开的理解f(x)=f(x0)+f‘(x0)*(x-x0)+1/2*f‘’(x0)*(x-x0)^2

令f'(x)=f'(x0)+1/2*f''(x0)*2*x=0

所以x=一f‘(x0)/f''(x0);

以上是一元的,当x是三元的,怎么理解1/2*X的转置*H(X)*X对X求导后=H(X)*X?

令△x=x-x0,△y=y-y0,△z=z-z0;H(X)=f''xx   f''xy  f''xz;    X  =x-x0;X的转置=(x-x0   y-y0   z-z0)

                                                       f''yx   f''yy  f''yz           y-y0

                                                       f''zx    f''zy  f''zz           z-z0

则X的转置*H(X)*X=△x(△x*f''xx +△y* f''xy +△z* f''xz)+

                                     △y(△x* f''yx +△y* f''yy +△z*f''yz )+

                                     △z(△x*f''zx  +△y*  f''zy  +△z*f''zz ).

那么D(x,y,z)=D(x0,y0,z0)+△x*f'x+△y*f'y+△z*f'z+1/2*X的转置*H(X)*X,

以上就是高斯差分函数泰勒展开,f‘x,f'y,f‘z;f''xx   f''xy  f''xz是一阶和二阶偏导,

然后D'x=0+f'x+△x*f''xx +△y* f''xy +△z* f''xz=0;同理

       D'y=0+f'y+△x* f''yx +△y* f''yy +△z*f''yz=0;

       D’z=0+f’z+△x*f''zx  +△y*  f''zy  +△z*f''zz=0;整理后

H(X)*X+f'x=0,所以1/2*X的转置*H(X)*X对X求导后=H(X)*X

            +f'y=0

            +f'z=0

故有D"XX*X+D'X=0列向量,X=一D'X/D"XX,对比一元,得解。

上一篇:Python字符串方法详解


下一篇:arcgis计算中心点的质心XY,并根据属性Label进行标注。