首页 > 代码库 > matlab gradient 和 prctile

matlab gradient 和 prctile

介绍两个matlab小函数:

1、gradient

借用别人的例子:
例:
>> 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

从上面的例子可以看出来:

Ix:对于Ix第一列,是x中第二列减去第一列得到的结果;对于Ix最后一列,是x最后一列减去倒数第二列得到的结果;对于Ix的第i列(既不是第一列,也不是最后一列),它是用x中第i+1列减去第i-1列得到的结果除以2得到的值。

Iy和Ix类似,不过求的是行的值。

总之,MATLAB函数gradient返回的是梯度值。

2、prctile

Y=prctile(X,p):当X为向量,Y返回X的p%上分位数;当X为矩阵,分别求各列的上分位数。 

上分位数的定义:

 

matlab gradient 和 prctile