随机生成 100 个数据,如果可能的话 select

Generate 100 data randomly, or select if it is possible

我想测试我的模型,我需要在一些数据中测试它,我想生成数据,实际上我想要从 0 到 10000 的 125 个不同的参数。

例如,在下面我们有 4 个不同的参数,从 1 到 300。

 Set I/0*300/;
 Parameter MyParameter;
 MyParameter /4 1,10 1,42 1,87 1/;

我不想手动执行此操作。

有什么方法可以自动生成吗

另一种提问方式:

如何 Select 一组 'I' 的 4 个随机元素不重复?

试试这个:

Set       I     /0*300/
          picks /p1*p4/;
Scalar    pick;
Parameter MyParameter(I);

MyParameter(I) = 0;
loop(picks,
  pick = uniformInt(1, card(I));

* Make sure to not pick the same one twice
  while(sum(I$(pick=ord(I)),MyParameter(I))=1,
    pick = uniformInt(1, card(I))
    Display 'here';
  );

  MyParameter(I)$(pick=ord(I))=1;
);
Display MyParameter;