我想检查矩阵中的条件,并使用matlab根据条件进行替换

时间:2013-10-31 22:16:22

标签: matlab matrix

我的矩阵是x = [0.1 0.2; 0.3 0.4; 0.5 0.6; 0.8 0.9 ;1 0.1]

现在我想通过阈值0来检查这个矩阵

每个条件的结果矩阵应该与x具有相同的大小,除了满足的值,所有其他值必须在结果矩阵中为零。例如,对于条件1,x必须为{ {1}}

我找到了一个命令x = [0.1 0.2; 0 0; 0 0; 0 0;0 0.1],它只提供这些条件的索引,我可以用这种方式得到这些值:x(ind)。但它是一个阵列。如果我使用逻辑条件说>或者<,它只会根据true或false给出1或0。它无法给出真实的矩阵值。

有人可以提出一个想法吗?

1 个答案:

答案 0 :(得分:1)

您可以像这样使用逻辑索引:

x(x>Value) = 0

您可以更改括号中的逻辑表达式以满足您的特定要求。假设您希望等于或大于0.3的值为0,就像您在帖子中建议的那样。然后你可以写:

x(x>=0.3)=0

您可以在本页底部找到有关逻辑索引的更多信息: http://www.mathworks.co.uk/company/newsletters/articles/matrix-indexing-in-matlab.html