Matlab中gradient函数的使用方法

Gradient(F)函数求的是数值上的梯度,假设F为矩阵.
 
>> 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
 
计算规则: [Fx,Fy]=gradient(F),其中Fx为其水平方向上的梯度,Fy为其垂直方向上的梯度,Fx的第一列元素为原矩阵第二列与第一列元素之 差,Fx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推:Fx(i,j)=(F(i,j+1)-F(i,j-1))/2。最后一列则为最后 两列之差。同理,可以得到Fy。
 
 
此方法是我从如下链接中复制的
posted @ 2015-08-04 11:02  Prime_ZLP  阅读(2866)  评论(0编辑  收藏  举报