The program cannot work
Afficher commentaires plus anciens
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.
Réponse acceptée
Plus de réponses (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
1 commentaire
Shuoze Xu
le 5 Juil 2022
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!