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. h
x =
! Z3 K' {( m; |1 _% I
6 9 3 4 0
3 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+ t
Fy =
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 0
1 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