how do i select a number from a set randomly

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일

1 개 추천

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일

0 개 추천

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;

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

제품

태그

질문:

2017년 5월 18일

답변:

2017년 5월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by