我有一个我在 C 中实现的公式,我已经这样做了,但是我收到的结果与 matlab 不同
编码:
double sumVector(float x[], int M){
double y = 0;
int i;
for(i = 1; i<M ; i++){
y += (0.5*x[i]) + ((x[i])*(x[i])* (cos(floor(x[i]/4) - 32)));
}
return y;
}
其中 x[] 是一个元素为 0:0.001:255 的数组
C 中的结果是 37022697.82 Matlab 中的结果是 -12767828.5
为什么会有如此大的变化,是什么原因造成的?
提前致谢