How to make a certain percentage of values in an existing matrix, between a set range of values. Probably easy but I am a newbie.

2 visualizzazioni (ultimi 30 giorni)
size=[25,10];
Score=randi([50,100],size);
So I have these commands in my script to create a 25x10 matrix of randomly assigned values between 50 and 100. However I need to make 10% of those randomly assigned values between 30 and 50, with the ability to change the percentage at will. Any help would be great.

Risposta accettata

Rub Ron
Rub Ron il 3 Ott 2020
What about this:
size=[25,10];
Score=randi([50,100],size);
my_percentage = 10;
my_piece = prod(size)*my_percentage/100;
sub_score=randi([30,50],[1, my_piece]);
rand_idx = randperm(prod(size),my_piece);
Score(rand_idx)=sub_score;

Più risposte (0)

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by