how to give probability of 90% to unique values of a vector and 10% to repeated values?

1 Ansicht (letzte 30 Tage)
Hello, how can I give 90% probability to elements of a vector that do not repeat themselves, and to elements that repeat 10%.
for example:
I have a vector
vector = [10 15 15 23 20 40]
give a probability of 90% to the numbers 10,23,20,40, and a probability of 10% to the numbers that are repeated, that is, 15,15.
and store it in a variable
thanks in advance
  2 Kommentare
Rik
Rik am 15 Dez. 2021
Have you already found a way to separate those two groups of numbers? That seems the first step to me. Then you can sample them in a 1:9 ratio.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 15 Dez. 2021
Did you try a simple for loop?
vector = [10 15 15 23 20 40];
probabilities = zeros(1, length(vector));
for k = 1 : length(vector)
if sum(vector == vector(k)) >= 2
% Repeated
probabilities(k) = 0.1;
else
% Not repeated
probabilities(k) = 0.9;
end
end
probabilities % Show in command window.
probabilities = 1×6
0.9000 0.1000 0.1000 0.9000 0.9000 0.9000
  5 Kommentare
Image Analyst
Image Analyst am 22 Dez. 2021
Oh, OK, great! You're welcome. Thanks for Accepting my Answer. 😃
giancarlo maldonado cardenas
Hello my friend how are you? I hope it's ok.
could you help me with this question? https://la.mathworks.com/matlabcentral/answers/1652655-how-can-i-choose-non-repeating-values-with-a-probability-of-90-and-10
is very similar to this question
Thanks in advance

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by