Effacer les filtres
Effacer les filtres

replace not selected value by zero

2 vues (au cours des 30 derniers jours)
HASAN AL-KAF
HASAN AL-KAF le 28 Jan 2018
Commenté : Star Strider le 28 Jan 2018
Hi I have 10 values. my code select 3 values, for example, if x=[1 2 3 4 5 6 7 8 9 10] and my code select [1 3 5] i want a code to do this x= [1 0 3 0 5 0 0 0 0 0]?.

Réponse acceptée

Star Strider
Star Strider le 28 Jan 2018
This works:
x=[1 2 3 4 5 6 7 8 9 10];
ToKeep = [1 3 5];
idx = ismember(x, ToKeep);
Result = x .* idx
Result =
1 0 3 0 5 0 0 0 0 0
  2 commentaires
Image Analyst
Image Analyst le 28 Jan 2018
Totally different than what I did and that made me see the ambiguity. We need Hasan to clarify if the [1,3,5] are the indexes of x that should be kept (like I assumed), or the values of x that should be kept (like you assumed).
Star Strider
Star Strider le 28 Jan 2018
‘I have 10 values. my code select 3 values,’
I interpret ‘values’ as indicating array elements.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 28 Jan 2018
Here's one way:
x=[1 2 3 4 5 6 7 8 9 10]
mask = [1 3 5]
x2 = zeros(1, length(x)); % Initialize x2
x2(mask) = x(mask) % Pull over values in the mask from x and put them in the same column.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by