what does this code represents? and why rand() has no value between parentheses?

13 vues (au cours des 30 derniers jours)
function [outcome]=customer
x=rand() ;
if x <= 0.2
outcome = 1 ;
else
outcome = 0;
end

Réponse acceptée

Stephen23
Stephen23 le 22 Mar 2019
Modifié(e) : Stephen23 le 22 Mar 2019
It defines a function which returns either 1 or 0, where 1 has ~=20% probability. Simpler code:
customer = @()+(rand(1)<=0.2);
"why rand() has no value between parentheses?"
Did you read the rand documentation? It explains the different rand syntaxes.

Plus de réponses (1)

James Tursa
James Tursa le 22 Mar 2019
Modifié(e) : James Tursa le 22 Mar 2019
rand() is the same as rand without the parentheses ... they both simply call the rand function with no input arguments. The behavior of rand is that when called with no input arguments, it returns a scalar.
This function code simply gets a random number between 0 and 1. If it is less than or equal to 0.2, the outcome is assigned a value of 1. Otherwise the outcome is assigned a value of 0. The value of outcome is returned by the function.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by