How to put different seed in a multidimensional matrix

2 次查看(过去 30 天)
I have a multidimensional matrix where n=10, k=3
X = rand([n,k,n]);
How to put different seed number for each matrix
X(:,:,1)
X(:,:,2)
X(:,:,3)
.....
.....
X(:,:,10)
Thse seed no. for each matrix should be different.

采纳的回答

KSSV
KSSV 2022-7-13
n = 10; k = 3 ;
R = zeros(n,k,n) ;
for i = 1:n
rng(i) % i can be a positive integer
R(:,:,i) = rand(n,k) ;
end
  2 个评论
chan
chan 2022-7-13
Thank you for giving me the solution but i dnt want the random no. to be repeated for every run. How to do that?
KSSV
KSSV 2022-7-14
Off course the number are random and they don't repeat.....also note that, there is no ncecessity to set seed for each iteration. You just need:
R = rand(10,3,10) ;

请先登录,再进行评论。

更多回答(2 个)

Chunru
Chunru 2022-7-13
Not sure why you have to do this. But it can be done as follows:
n = 10; k=3;
X = zeros([n,k,n]);
seeds = [1:n]; % your seed numbers
for i=1:n
rng(seeds(i));
X(:, :, i) = rand(n, k);
end
  1 个评论
chan
chan 2022-7-13
编辑:chan 2022-7-13
Thank you for giving me the solution but i dnt want the random no. to be repeated for every run. How to do that?

请先登录,再进行评论。


Steven Lord
Steven Lord 2022-7-13
You might think that by changing the seed so frequently you're making the numbers "more random". You're not, as stated by the Note on this documentation page.
Call rng once before you start generating random numbers. Generate your numbers. Then if you need a different seed for your next run call rng again with a different seed.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by