“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;
,您可以执行rand
和srand
,但最好的方法可能是使用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)
来使用特定种子。
关于d - D 程序中的语法与 R 中的 set.seed (1234)"相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320364/