使用C++编写代码,生成均值为0,方差为1的高斯白噪声,保存1000个时间序列数据。
时间: 2023-03-15 22:15:18 浏览: 178
根据均值和方差生成高斯噪声,给图像叠加高斯噪声
可以使用以下代码来实现:#include<stdio.h> #include<stdlib.h> #include<math.h> #define N 1000 int main(){ int i; double x[N]; srand((unsigned)time(NULL)); for(i=0;i<N;i++){ x[i] = sqrt(2)*cos(2*M_PI*rand()/RAND_MAX)*sqrt(-2*log(rand()/(double)RAND_MAX)); //生成均值为0,方差为1的高斯白噪声 } //保存1000个时间序列数据 FILE *fp; if((fp=fopen("data.txt","w+"))==NULL){ printf("open error!"); exit(0); } for(i=0;i<N;i++){ fprintf(fp,"%f",x[i]); } fclose(fp); return 0; }
阅读全文