Effacer les filtres
Effacer les filtres

non zero elements above 70 and below -70 zero

2 vues (au cours des 30 derniers jours)
Jeroen
Jeroen le 17 Fév 2012
Modifié(e) : Jan le 15 Oct 2013
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.

Sean de Wolski
Sean de Wolski le 17 Fév 2012
A(abs(A)>70) = 0;

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by