Change random values in the matrix of 234*10000
1 view (last 30 days)
Show older comments
I have a matrix of 10*10 (in this example, actually the matrix is 234*10000) and I have to change the values at random locations.
I tried using the randperm function but it is able to change the values only in the beginning locations. Could someone advise on this please
X= rand(10)
shi=randperm(10,3); %For 10000 simulations and limiting the jump to go only upto 1673
Initial_X = X(shi);
X(shi) = randperm(5,length(shi)); %Change the values at these values of 'i' which is derived from the randperm function above
Final_X = X(shi);
0 Comments
Accepted Answer
KSSV
on 7 Feb 2020
You should follow like this:
X= rand(10)
shi=randperm(numel(X),3); %For 10000 simulations and limiting the jump to go only upto 1673
Initial_X = X;
X(shi) = rand(size(shi)); %Change the values at these values of 'i' which is derived from the randperm function above
Final_X = X;
3 Comments
More Answers (1)
Bhaskar R
on 7 Feb 2020
X= rand(10); % total locations, 10*10 = 100;
loc = randperm(numel(X), 1); % out of 100 locations i pick one random location choosen
X(loc) = rand(1); % assigning random value to randomly picked location
See Also
Categories
Find more on Language Fundamentals in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!