如何用高斯噪声干扰信号,例如sin(x)?
我需要这样的东西:
#include <math>
#include <lib with gaussian noise>
int main{
float *a[Dim]
for(int i=0;i<Dim;i++)
a[i]=sim[i/10]+noise;
}
答案 0 :(得分:2)
如果你有C ++。11,你可以使用std::normal_distribution
。代码看起来像这样:
#include <random>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::normal_distribution<> d;
float *a[Dim]
for(int i=0;i<Dim;i++) {
float noise = d(gen);
a[i]=sim[i/10]+noise;
}
}