Effacer les filtres
Effacer les filtres

Setting value to zero at random

2 vues (au cours des 30 derniers jours)
Ulrik Nash
Ulrik Nash le 9 Juil 2011
Hi Everyone,
Suppose I have two vectors
A = [0 2 2 0 1]
and
B = [1 3 4 2 1]
and suppose I apply following code:
val = max(nonzeros(A)); [~,J] = find(A == val); z(1,J) = 0;
Then the result is to change the 3 and the 4 in B to 0.
My problem is simply, that I only wish to change one place in B to 0, and the place actually changed should be chosen completely at random from those max nonzeros.
How could I adjust my code to allow this?
Regards,
Ulrik.

Réponse acceptée

Paulo Silva
Paulo Silva le 9 Juil 2011
idx=find(max(nonzeros(A))==A);
B(randi([idx(1) idx(end)]))=0

Plus de réponses (0)

Catégories

En savoir plus sur Random Number Generation 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