Test every element in matrix

7 次查看(过去 30 天)
I have an M x N matrix, where I want to test whether each element is greater than some constant a, and if it is, perform some arithmetic to it. The only way I can think of doing this is using 2 For loops nested to select each element and an If statement to perform checking. Is this the best I can do?

采纳的回答

Tigersnooze
Tigersnooze 2011-9-19
You can say something like this, instead of using a loop (assuming the matrix is called A):
A(A > a) = A(A > a) + arithmetic.
"Vectorizing" like this won't have significant speed advantages with smaller matrices, but when the matrix gets bigger you'll see huge time savings. Just a heads up for the future.
  4 个评论
Sean de Wolski
Sean de Wolski 2011-9-19
Leor, look at ismember:
doc ismember

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by