Matlab中gradient函数的算法说明

原贴为:http://www.ilovematlab.cn/thread-40710-1-1.html


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 =
                                     0
                                     5
                                     0
                           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
                  -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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值