How can I randomize elements in an array by a set amount?

For example, if i had the array
a = (5,5,5,5,5);
and I wanted to randomize some of the elements in the array by 1 so that it would look like
a = (5,6,5,5,4);

 Accepted Answer

a = [5,5,5,5,5];
out=a+randi([-1 1],size(a))

3 Comments

This works!
Maybe this is asking for too much, but once the randomization process has occured, i.e a = [5,5,5,5,5] has become [5,6,5,5,4], is it possible for the program to start with the last modified array? In this case, the next time it would run would be turning a = [5,6,5,5,4] into possibly [6,7,5,4,3].
Okay, lets say I run the code starting with a = [5,5,5,5,5], and then it randomizes some of the elements by adding or subtracting 1 to it. The array called a is now [6,5,5,4,4].
The next time I run the code, I want the program to remember that the array is now [6,5,5,4,4] before randomizing some of its elements by adding or subtracting 1 to them.
(This would mean that after a few executions of the program, the array could look like this: [2,7,4,5,6])

Sign in to comment.

More Answers (0)

Categories

Find more on Random Number Generation 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!