non zero elements above 70 and below -70 zero

hello people,
In a matrix I want that all non zero elements above 70 and below -70 is zero.
How do I do that ?
Thank you!

回答(4 个)

Use logical index
x(x>70 | x<-70)=0

2 个评论

and what if I want to replace only those elements in the first two rows?
See carmen's answer below

请先登录,再进行评论。

I am not 100% sure what you mean, but here is some code (with comments on my understanding) that you should be able to modify to do what you want
% Some test data:
A = 200*rand(100) - 100;
% Index to values you want to zero out
idx = (A>70) | (A<-70); % Index to values that are bigger than 70 or smaller than -70
% Zero those out
A(idx) = 0;

1 个评论

Thank you!
Well it is a matrix of ~40000 by 6. But what if I want to replace only those elements in the first two rows?

请先登录,再进行评论。

then you modify Honglei Chen 's approach according to your wish:
x(1:2,x(1:2,:)>70 | x(1:2,:)<-70)=0
that should be it.

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

提问:

2012-2-17

编辑:

Jan
2013-10-15

Community Treasure Hunt

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

Start Hunting!

Translated by