第 1 部分:生成可重复的随机数
我认为冻结是指在程序的不同运行中,随机数生成器会生成相同的“随机”数序列。
这已在 MATLAB 中使用命令 rng 处理。
此函数采用的唯一参数是种子的值。在您的情况下,您可以使用 default 值,以便每次运行代码时算法参数都设置为默认值。因此,它会一遍又一遍地生成相同的数字序列。
rng('default') 将 rand、randi 和 randn 使用的随机数生成器的设置设置为其默认值。这样,生成的随机数与您重新启动 MATLAB 时一样。默认设置是种子为 0 的 Mersenne Twister。
例子:
>> rng('default');
>> A = rand(1,10)
A =
0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649
>> B = rand(1,10)
B =
0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595
>> rng('default');
>> B = rand(1,10)
B =
0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649
因此,在示例中,首先使用default 参数生成A 变量。另一方面,第二个参数B是在不重置随机生成器参数的情况下生成的,因此它与A不同。通过将参数重置为默认值,您可以获得与第一个变量相同的结果。
rand 命令为您提供均匀分布在 [0,1] 上的数字,使用 rbg('default') 您将一次又一次地获得相同的序列。
因此,根据 MATLAB,您生成可重复的随机数。
第 2 部分:用 Excel 编写
很简单,你只需要使用matlab函数xlswrite。在此处查看文档。还有一个例子:
xlswrite('myExcel.xlsx',A);