Error using rand Size inputs must be scalar.
19 views (last 30 days)
Show older comments
Cesar Ramirez
on 25 Feb 2019
Commented: Cesar Ramirez
on 25 Feb 2019
Hi, I am trying to use rand , but Im getting erros Size inputs must be scalar.
I am almost new at matlab and was wonder how to fix that problem
D = 2 ;
g =1000;
sigma = 1;
for i=1:g
r = rand(0,sigma^2,[D 1]);
%...
end
0 Comments
Accepted Answer
Walter Roberson
on 25 Feb 2019
When you talk about sigma^2 you are talking about normal distribution (typically) not uniform distribution such as rand() produces.
I suspect you want to call normrnd() rather than rand() .
3 Comments
Walter Roberson
on 25 Feb 2019
rand(0,1) means that you want an array with 0 rows and 1 columns .
Perhaps you want normrnd(0,1) ?
The code lines you are using are like what you would use to create a uniform random number in the range xl to xu . If you want to do that once for each member of r, then
xp = xl + (xu-xl) .* rand(size(r));
xh = xp + r;
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices 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!