MATLAB Answers

0

how do i select a number from a set randomly

Asked by Romy Schipper on 18 May 2017
Latest activity Answered by James Tursa
on 18 May 2017
I want to select 1 or -1, my code now looks like this:
if true
% code
for i = 1:101
for j = 1:5
%action may be -1 or 1
ac = [-1,1];
posA = randi(length(ac));
Asimulac(i,j) = ac(posA);
posB = randi(length(ac));
Bsimulac(i,j) = ac(posB);
end
end
end
It works but posA and posB keeps being the same for every loop in j=1:5, which is not what I want. In otherwords Asimulac(i,j) = Bsimulac(i,j). How do I really randomly draw from the set [-1,1]?

  0 Comments

Sign in to comment.

Tags

Products

2 Answers

Answer by Stephen Cobeldick on 18 May 2017
Edited by Stephen Cobeldick on 18 May 2017

V = [-1,+1]; % or any set of values
V(randperm(numel(V),1)) % pick one out of the set

  0 Comments

Sign in to comment.


Answer by James Tursa
on 18 May 2017

If you are just interested in the values -1 and 1, you could do something like this:
Asimulac = round(rand(101,5))*2-1;
Bsimulac = round(rand(101,5))*2-1;

  0 Comments

Sign in to comment.