“兰德流” MATLAB 7.6.0.324 中未定义?

发布于 2024-11-11 05:18:37 字数 282 浏览 1 评论 0原文

我正在尝试在 MATLAB 7.6.0.324 中使用 RandStream ,如下所示:

randst = RandStream('mrg32k3a', 'Seed', 0);

显然,RandStream 未在 MATLAB 7.6.0.324 上定义,我找不到有关它的文档。

如何在此版本的 Matlab 中为 randrandperm 设置随机种子。

I am trying to use RandStream in MATLAB 7.6.0.324 as below:

randst = RandStream('mrg32k3a', 'Seed', 0);

Apparently, RandStream is not defined on MATLAB 7.6.0.324 and I can not find a documentation about it.

How can I set random seed in this version of Matlab then for rand and randperm.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一口甜 2024-11-18 05:18:37

您很可能从使用较新版本 MATLAB 的人那里获得了代码。 RandStream 函数是在 MATLAB 的更高版本中引入的(我不记得是哪个版本),正如您发现的那样,它在 v7.6.0.324 中不存在。在旧版本中,您只需在 rand 中设置种子,如下所示:

rand('seed',0);
x=rand(1,5)

x =

0.2190    0.0470    0.6789    0.6793    0.9347
 

randperm 另一方面,在其中调用 rand 。因此,在调用 randperm 之前设置 rand 的种子每次都会得到相同的输出。

rand('seed',0);
y=randperm(5)

y =

     2     1     3     4     5

注意:

当前不推荐使用此语法(并且在未来版本中可能会停止支持)。来自文档

这些 rand 和 randn 语法不是
更长推荐用于以下
原因:

  • 术语“种子”和“状态”是生成器的误导性名称。
  • 除了“twister”之外,所有以前的生成器都有缺陷。
  • 他们不必要地使用不同的 rand 和 randn 生成器。

Most likely, you got code from someone who uses a newer version of MATLAB. The RandStream function was introduced in later versions of MATLAB (I don't remember which) and as you found out, does not exist in v7.6.0.324. In older versions, you simply set the seed inside rand like so:

rand('seed',0);
x=rand(1,5)

x =

0.2190    0.0470    0.6789    0.6793    0.9347
 

randperm on the other hand, calls rand inside it. So setting the seed for rand before calling randperm will give you the same output each time.

rand('seed',0);
y=randperm(5)

y =

     2     1     3     4     5

NOTE:

This syntax is not currently recommended (and support may be discontinued in future releases). From the documentation:

These rand and randn syntaxes are no
longer recommended for the following
reasons:

  • The terms 'seed' and 'state' are misleading names for the generators.
  • All of the former generators except 'twister' are flawed.
  • They unnecessarily use different generators for rand and randn.
焚却相思 2024-11-18 05:18:37

显然您使用的是旧版本,其中该函数尚未定义,

请尝试 qrandstream

you're obviously using an old version where the function hasn't been defined yet

try qrandstream

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文