how do i select a number from a set randomly

6 次查看(过去 30 天)
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]?

回答(2 个)

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

James Tursa
James Tursa 2017-5-18
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;

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by