1

我想初始化我的输入随机数组以找到输入数组大小的 fft。rand()我希望输入数组应该包含必须在 c 中使用的复数(例如 a+jb) 。我正在尝试这样做:

sint16 min= Some value a;
sint16 max= Some value b;
sint32 array[1536];

uint16 i;
for(i=0; i<1536; i++) {
    r= rand()%(max+min+1)+min;
    array[i]=r;
}

但它没有产生我需要的结果。

4

1 回答 1

0

考虑当您插入 和 的不同值时会发生怎样的max + min + 1变化:maxmin

  • max = 10, min = 0=> 10 + 0 + 1 = 11
  • max = 30, min = 20=> 30 + 20 + 1 = 51

现在,这两个示例中的实际范围是相同的,对吧?

所以,你的方程应该是:

r = rand() % (max - min + 1);

注意减法min,以计算从到的距离max(假设max > min)。

于 2013-05-27T15:28:05.503 回答