EDA365电子论坛网

标题: 哪位大神能帮忙解释一下Matlab梯度函数gradient啊? [打印本页]

作者: littlestupid    时间: 2020-3-24 14:00
标题: 哪位大神能帮忙解释一下Matlab梯度函数gradient啊?
% W. Q7 t, r0 W! D
请问一下gradient之间的过程7 U7 {! L/ Y3 [  E: `* d. a& Y
例:
" r, {) a/ u% [$ S9 a3 P+ P>> x=[6,9,3,4,0;5,4,1,2,5;6,7,7,8,0;7,8,9,10,0]
7 z7 ]2 a, p# l+ [" d. hx =! Z3 K' {( m; |1 _% I
     6     9     3     4     03 D' S0 R# a% o  c
     5     4     1     2     5
6 u, `5 p& h: r. q) X5 v7 x     6     7     7     8     0& h' `8 K" j( Q$ R* ^6 K" R1 h. q$ ?6 f
     7     8     9    10     0
8 `. P' r( P! h$ L: [>> [Fx,Fy]=gradient(x)
5 C* ~. S  m4 d2 `Fx =
& V3 \3 M! h; c; m) G: w    3.0000   -1.5000   -2.5000   -1.5000   -4.0000" ^2 h* H6 W$ g8 Q7 }! D- X# m
   -1.0000   -2.0000   -1.0000    2.0000    3.0000' v2 F. [0 @0 w
    1.0000    0.5000    0.5000   -3.5000   -8.0000
, R" L! G! Z* q8 X4 A    1.0000    1.0000    1.0000   -4.5000  -10.0000
3 S  x2 s3 f) H, ^3 V/ _) q0 W
% t2 j* @& n+ a4 y6 m# N+ tFy =
4 _# d) G* G% C2 T- e2 s9 v   -1.0000   -5.0000   -2.0000   -2.0000    5.0000
) p$ b$ u" I& T* E7 T/ K         0   -1.0000    2.0000    2.0000         01 Z8 @5 ^8 J8 }, t% P" k
    1.0000    2.0000    4.0000    4.0000   -2.5000& E3 V3 y4 F7 U% c7 \, x# C
    1.0000    1.0000    2.0000    2.0000         0
/ m* s# f1 K& e2 M( q% B就是不理解Fx,Fy是怎么计算过来的,解释一下,谢谢
5 f* k) n  N) Z( W
作者: NingW    时间: 2020-3-25 17:53
gradient()是求数值梯度函数的命令。[Fx,Fy]=gradient(x),其中Fx为其水平方向上的梯度,Fy为其垂直方向上的梯度,Fx的第一列元素为原矩阵第二列与第一列元素之差,Fx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推:Fx(i,j)=(F(i,j+1)-F(i,j-1))/2。最后一列则为最后两列之差。同理,可以得到Fy。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2