如何用高斯噪声扰乱信号,例如 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;
}
如何用高斯噪声扰乱信号,例如 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;
}
如果你有 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;
}
}