what does this code represents? and why rand() has no value between parentheses?
2 views (last 30 days)
Show older comments
william Smith
on 22 Mar 2019
Commented: william Smith
on 22 Mar 2019
function [outcome]=customer
x=rand() ;
if x <= 0.2
outcome = 1 ;
else
outcome = 0;
end
0 Comments
Accepted Answer
Stephen23
on 22 Mar 2019
Edited: Stephen23
on 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.
More Answers (1)
James Tursa
on 22 Mar 2019
Edited: James Tursa
on 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.
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!