rand('state',11)
38 次查看(过去 30 天)
显示 更早的评论
Can anyone please explain this statement:
rand('state',11) ?!
2 个评论
Steven Lord
2020-5-29
No one responded since February 1st, 2018. The answers given then and back in 2011 are still valid.
采纳的回答
Greg Heath
2011-10-7
编辑:Greg Heath
2018-2-1
rand is an obsolete random number generator that generates uniformly distributed outputs in the open interval (0,1).
rand(m,n) produces a matrix of size [m n] and rand(n) = rand(n,n)
Each time rand is called, the state of the generator is changed and a new sequence of random numbers is generated.
There are 2^1492 states, 2^32 of them are so-called integer states.
rand('state',N) for integer N in the closed interval [0 2^32-1] initializes the generator to the Nth integer state.
SEE THE DOCUMENTATION:
help rand
doc rand
Hope this helps.
Greg
1 个评论
Steven Lord
2018-2-1
Greg, I have a slight issue with the way your first sentence is worded. The rand function is not obsolete; it is the recommended way to generate uniform random numbers.
The particular syntax for rand about which the poster asked, where you use it to control the internal state information about the pseudorandom number generators, is what is discouraged (though describing it as obsolete is close enough.) We recommend using the rng function instead.
更多回答(4 个)
Wayne King
2011-10-7
did you read that document, it is explained there. It is a seed. The seed is an integer, you can use it to produce repeatable results.
rand('state',11)
rand(4,1)
% now seed back to where you were
rand('state',11)
rand(4,1)
% the same 4 numbers both times, now
rand('state',1)
rand(4,1)
% see they're different
0 个评论
Wayne King
2011-10-7
编辑:John Kelly
2014-5-27
rand('state',seed_number) is an old way of seeding the MATLAB v5 random number generator.
Steven Lord
2018-2-1
See this page in the documentation for an explanation of that syntax and the recommended replacement.
0 个评论
yasmine Zem
2021-1-26
Bonjour j'ai un problème avec mon algorithme il veut pas marcher je voudrais avoir des explications svp clf
randn ('state',1)
T = 1; N = 2^8; Delta = T/N; lambda = 0.05; sigma 0.8; Xzero = 1;
Xem = zeros (1, N+1);
Xem (1) = Xzero;
for j = 1:N
Winc = sqrt (Delta) *randn;
Xem (j+1)=abs (Xem (j) + Delta*lambda*Xem (j) + sigma\sqrt(Xem (j)) *Winc);
end
plot ( [0:Delta:T],Xem, 'r--') xlabel ('t','FontSize', 16), ylabel ('X', 'FontSize', 16)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Random Number Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!