matlab 梯度 什么意思,浅谈Matlab中的梯度(gradient)
淺談Matlab中的梯度(gradient)
發布時間:2018-05-01 22:22,
瀏覽次數:461
, 標簽:
Matlab
gradient
梯度(gradient)是函數在改點變化最大的值,在用Matlab做圖像處理中,梯度可有以下公式來計算:
[Fx,Fy]=gradient(F)
1.F是一維矩陣,有Fx=gradient(F,L),L為倆元素之間的距離。
2.F是二維矩陣,(Fx,Fy)=gradient(F,Lx,Ly),Lx,Ly表示各自方向上各點間的距離。
3.F是三維矩陣,(Fx,Fy,Fz)=gradient(F,Lx,Ly,Lz),Lx,Ly,Lz表示各自方向上各點間的距離。
這樣寫還是比較抽象,舉一個二維矩陣的例子
>> A=[1 8 6;4 3 6;7 8 5]
A =
1???? 8???? 6
4???? 3???? 6
7???? 8???? 5
Fx =
7.0000??? 2.5000?? -2.0000
-1.0000??? 1.0000??? 3.0000
1.0000?? -1.0000?? -3.0000
Fy =
3.0000?? -5.0000???????? 0
3.0000???????? 0?? -0.5000
3.0000??? 5.0000?? -1.0000
其計算方法很簡單,Fx的第一列為原矩陣第二列減去第一列,第二列等于原矩陣的第三列減去第二列,算出的結果每個元素除二,第三列為原矩陣最后兩列的差值。
同理,Fy就變成行的運算。
tips:第一行/列和最后一行/列計算時不需要除二,中間的行/列除二運算。
總結
以上是生活随笔為你收集整理的matlab 梯度 什么意思,浅谈Matlab中的梯度(gradient)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「 LaTex 」写论文,natbib宏
- 下一篇: bt种子php啥格式的,bt种子是什么意