how do i select a number from a set randomly

6 Ansichten (letzte 30 Tage)
Romy Schipper
Romy Schipper am 18 Mai 2017
Beantwortet: James Tursa am 18 Mai 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]?

Antworten (2)

Stephen23
Stephen23 am 18 Mai 2017
Bearbeitet: Stephen23 am 18 Mai 2017
V = [-1,+1]; % or any set of values
V(randperm(numel(V),1)) % pick one out of the set

James Tursa
James Tursa am 18 Mai 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;

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by