gradient 函式的理解

2021-07-11 21:48:12 字數 1139 閱讀 8833

梯度:變化/參考量

gradient()是求數值梯度函式的命令。

[fx,fy]=gradient(x),其中fx為其水平方向上的梯度,fy為其垂直方向上的梯度,fx的第一列元素為原矩陣第二列與第一列元素之差,fx的第二列元素為原矩陣第三列與第一列元素之差除以2,以此類推:fx(i,j)=(f(i,j+1)-f(i,j-1))/2。最後一列則為最後兩列之差。同理,可以得到fy。

1。如果f是一維矩陣,則fx=gradient(f,h)返回f的一維數值梯度。h是f中相鄰兩點間的間距。

2。如果f是二維矩陣,返回f的二維數值梯度。《simulink與訊號處理》

3。如果f是三維矩陣,返回f的三維數值梯度。

[fx,fy]=gradient(f,hx,hy)。hx,hy引數表示各方向相鄰兩點的距離。

例如:

[z1,z2]=gradient(x,0.2,0.25);%這個就是將預設除以的2,x軸換為0.2,y軸換為0.25.

[fx,fy,fz]=gradient(f,hx,hy,hz)。

hx,hy,hz引數表示各方向相鄰兩點的距離。

舉個栗子:

>>x=[6,9,3,4,0;5,4,1,2,5;6,7,7,8,0;7,8,9,10,0]
x =

6 9 3 4 0

5 4 1 2 5

6 7 7 8 0

7 8 9 10 0

>> [fx,fy]=gradient(x)
fx =

3.0000 -1.5000 -2.5000 -1.5000 -4.0000

-1.0000 -2.0000 -1.0000 2.0000 3.0000

1.0000 0.5000 0.5000 -3.5000 -8.0000

1.0000 1.0000 1.0000 -4.5000 -10.0000

fy =

-1.0000 -5.0000 -2.0000 -2.0000 5.0000

0 -1.0000 2.0000 2.0000 0

1.0000 2.0000 4.0000 4.0000 -2.5000

1.0000 1.0000 2.0000 2.0000 0

matlab中的gradient函式

昨天突然想通了,還是把過程寫一來,以防以後有人再出現我而沒有解答了。gradient 是求數值梯度函式的命令。fx,fy gradient x 其中fx為其水平方向上的梯度,fy為其垂直方向上的梯度,fx的第一列元素為原矩陣第二列與第一列元素之差,fx的第二列元素為原矩陣第三列與第一列元素之差除以2...

Matlab常用函式 gradient

gradient 是求數值梯度的函式。用法 1 fx gradient f,h 其中f為一維矩陣,返回f的一維數值梯度,h是f中相鄰兩點的間距,預設時預設為1。2 fx,fy gradient f,hx,hy 其中f為二維矩陣,返回f的二維數值梯度 hx表示x方向上相鄰兩點的距離,預設時預設為1 h...

CSS漸變屬性(gradient)的用法

漸變分為線性漸變和徑向漸變,所謂漸變就是幾種顏色之間的平穩過渡。線性漸變 線性漸變 linear gradient 實現線性漸變,你至少需要定義兩種顏色的結點,這兩種結點就是你想平穩過渡的顏色,即 其中一種顏色結點為起點,另一種顏色結點為結束點。書寫 background linear gradie...