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!

Answers (4)

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

2 Comments

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

Sign in to comment.

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 Comment

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?

Sign in to comment.

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.

Tags

Asked:

on 17 Feb 2012

Edited:

Jan
on 15 Oct 2013

Community Treasure Hunt

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

Start Hunting!