d - D 程序中的语法与 R 中的 set.seed (1234)"相同

标签 d

“srand”是不正确的命令。这是我第一次使用D语言。 R 中 D 作为 set.seed 的代码是什么?

void main() {
//srand(1234);  ????//
randInit();
auto x = RMatrix(10,1);foreach(rep; 0..1) {
printR(rep.robj);
double init = 0.0;
    foreach(ii; 0..100) {
        init = 0.5*init + rnorm();
    }
    x[0,0] = init;
    foreach(ii; 1..x.rows) {
        x[ii,0] = 0.8*x[ii-1,0] + rnorm();
    }

最佳答案

这取决于您使用的库。如果您import core.stdc.stdlib;,您可以执行randsrand,但最好的方法可能是使用std.random .

你关心种子具体是什么吗?如果没有,您可以使用自动函数并调用一些随机函数:

// Generate a uniformly-distributed integer in the range [0, 14]
auto i = uniform(0, 15);

或者自己看看:

Random gen = Random(unpredictableSeed);
auto r = uniform(0.0L, 100.0L, gen);

如果您确实使用自己的 Random 对象,请务必通过 ref 将其传递给任何使用它的函数!

Random(unpredictableSeed) 与其他语言中的 srand(time()) 类似。您还可以执行 Random(1234) 来使用特定种子。

这些示例来自此处:http://dlang.org/phobos/std_random.html

关于d - D 程序中的语法与 R 中的 set.seed (1234)"相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320364/

相关文章:

compiler-errors - 为什么会出现模块冲突?

c# - 基于ANTLR v3的成熟编译器

memory - DSFML2 中的破坏

c - 导入模块时出现奇怪的错误

d - 将 D 中的 auto(字符串)转换为 char

unicode - D语言: How to print Unicode characters to the console?

range - 如何将 Result 类型变成有用的东西?

arrays - D编程语言中的空字符串

memory-leaks - 禁用D的GC是 'ok'吗?

concurrency - D 并发写入缓冲区