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!

Réponses (4)

Honglei Chen
Honglei Chen le 17 Fév 2012
Use logical index
x(x>70 | x<-70)=0

2 commentaires

Jeroen
Jeroen le 17 Fév 2012
and what if I want to replace only those elements in the first two rows?
Honglei Chen
Honglei Chen le 17 Fév 2012
See carmen's answer below

Connectez-vous pour commenter.

the cyclist
the cyclist le 17 Fév 2012
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 commentaire

Jeroen
Jeroen le 17 Fév 2012
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?

Connectez-vous pour commenter.

carmen
carmen le 17 Fév 2012
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

Question posée :

le 17 Fév 2012

Modifié(e) :

Jan
le 15 Oct 2013

Community Treasure Hunt

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

Start Hunting!

Translated by