我有这段代码运行一个循环。小写x
变量始终打印正确。大写X
var有时正确打印,有时打印nan
或junk
。为什么?什么导致nan错误结果?
N.B.数据总是相同的。
Link to my other SO question which shows how this is being used.200点赏金!
double (*x)[2];
double (*X)[2];
x = malloc(2 * 512 * sizeof(double));
X = malloc(2 * 512 * sizeof(double));
for (j = 0; j < 10; j++){
(*x)[j] = // values inserted from method argument.;
}
fft(512, x, X);
for (j = 0; j < 512; j++){
if (i==512*20) {
NSLog(@"PRE POST %f - %f",(*x)[j], (*X)[j]);
}
}
free(x);
free(X);
这看起来不像C/Objective-C特定的问题。也许FFT没有在您试图计算的整个频谱上定义。或者它被定义但切向为0.0或无限。 –