基于某个阈值

时间:2016-09-15 12:48:00

标签: matlab

考虑一个随机向量,

示例:

 >> testdata = rand(1,10)

testdata =

    0.7314    0.5355    0.3669    0.6349    0.4370    0.1806    0.1148    0.2417    0.7116    0.3056

现在让我们对这个向量进行均值,然后将其称为阈值。

>> mean(testdata)

ans =

    0.4260

现在任何大于mean的东西都是1,任何小于mean的东西都是0。

如果不使用for循环,我怎样才能更有效地实现这一目标。

感谢。

1 个答案:

答案 0 :(得分:2)

testdata>mean(testdata)

将返回一个逻辑向量,其中1表示更大,0表示其他。它的大小为testdata(所以这也适用于matrizes),你可以使用逻辑运算符,如:

testdata>mean(testdata) & testdata<0.9