MATLAB Answers

0

How to get Random numbers only from -1 1 and 2?

Asked by Ege Tunç on 26 Dec 2018
Latest activity Edited by Stephen Cobeldick on 27 Dec 2018
I need to create a random integer numbers generator which only creates -1,1 and 2
here is my code for 1 or 2:
for m=1:100
A=randi([-1 2]);
A
end

  0 Comments

Sign in to comment.

2 Answers

Answer by Stephen Cobeldick on 26 Dec 2018
 Accepted Answer

The easiest way is to define a vector of the values that you want and use (random) indexing:
>> V = [-1,1,2];
>> V(randi(numel(V),1,12))
ans =
-1 2 1 2 -1 2 -1 1 -1 2 -1 1

  4 Comments

Show 1 older comment
"How's this different from my answer ?"
It has an explanation. I guess the OP appreciated that.
Nah... atleast you could have added a note that it was taken from the other. I‘m pretty sure if it would have happened the other way around , you would have handled it differently..
"atleast you could have added a note that it was taken from the other"
This is the same answer that has been given many times before to the same question:
I did not notice your answer: I usually open many tabs in my browser and work through them. If anyone adds something (or deletes the question) in the meantime I would not know about it until after posting any answer or comment and then refreshing the page, which could be half an hour or more since opening that tab. If the page is not refreshed then I do not see any other additions, and have usually moved on to the next tab anyway.
"I‘m pretty sure if it would have happened the other way around , you would have handled it differently"
If I notice that I have submitted exactly the same answer as an earlier answer then usually I delete my answer. If there are distinctions that I consider might be useful for the OP (e.g. references, explanations, examples, etc., which I try to include where relevant) then I might leave my answer and hope that it will be of use to the OP. As often we have no idea of the level of experience or level of interest of the OP this can be useful: some are looking for a quick-fix, while others are looking to learn and understand. Different answers, even with much the same code, cater to different tastes and needs of the OPs. As you have noticed I try to explain and give references where this might be useful. And apparently some OPs do find this useful.

Sign in to comment.


Answer by madhan ravi
on 26 Dec 2018

P=[-1 1 2];
A=P(randi([1 numel(P)],1,100))

  0 Comments

Sign in to comment.