The program cannot work
이전 댓글 표시
Hi.
There is a review question without answer.
Here is the question
A function is defined as
function [dice] = roll(sides)
dice(0) = randi(sides);
dice(1) = randi(sides);
end
If the function is called as follows:
[roll1,roll2] = dice(6);
and the random numbers generated are 1 and 6. What will be the value od roll1 and roll2?
My first question is that what is roll1 and roll2? i confused for the function. the return value is only one, why it can be returned two values as roll1 and roll2 ?
Then, the function name is roll, why use dice to call the function?
Thank you all.
채택된 답변
추가 답변 (1개)
% [roll1,roll2] = dice(6)
% The above is wrong in syntax as the function has only ONE return object
% dice (as an array).
% The correct way to call the function
d = roll(6)
function [dice] = roll(sides)
% dice(0) = randi(sides);
% dice(1) = randi(sides);
dice = randi([1 6], [2 1]); % generate 2x1 random integer in range [1 6]
end
카테고리
도움말 센터 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!