필터 지우기
필터 지우기

comparing rows in matrices

조회 수: 1 (최근 30일)
Tor Fredrik Hove
Tor Fredrik Hove 2012년 5월 8일
function lottonumbers = draw_lottonumbers(draws, balls,rows)
% A function that draws 'draws' random integers without replacement
between 1 and
% 'balls', i.e. a random lotto sequence
% INPUT PARAMETERS
% draws: # of balls drawn (in norwegian lotto this is 7)
% balls: # of balls, i.e. # of possible numbers (in norwegian
lotto this is 34)
% rows: # of lottorows (in norwegian lotto this is normally 10)
% OUTPUT PARAMETERS
% lottonumbers: a matrix with 'rows' rows, where the rows are the
% lotto-combinations you play
lottonumbers = zeros(rows,draws);
for i=1:rows
temp_combination = randsample(balls,draws,'false');
% draw 'draws' integers between 1 and 'balls'
lottonumbers(i,:) = sort(temp_combination);
% sort the drawn lottosequence in ascending order
end
using function above:
function thrtyfoinrow=drawlotto(v)
thrtyfoinrow=0;
draw_lottonumbers(7,34,v)
winner=rand(1,7);
winner=ceil(winner);
for i=1:v
if winner==lottonumbers(i,:)
for j=1:v
if winner(j)==34
thrtyfoinrow=thrtyfoinrow+1;
end
end
end
end
I get error in
if winner==lottonumbers(i,:)
I guess my comparing is bad?
  댓글 수: 2
Oleg Komarov
Oleg Komarov 2012년 5월 8일
What error do you get?
Daniel Shub
Daniel Shub 2012년 5월 8일
My guess is the error is related to the fact that winner is 1x7 and not a scalar.

댓글을 달려면 로그인하십시오.

답변 (1개)

Daniel Shub
Daniel Shub 2012년 5월 8일
You might want to use
doc isequal
or
all(winner == lottonumber(i,:))

Community Treasure Hunt

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

Start Hunting!

Translated by