在初始化粒子时,我需要向其中添加一些高斯噪声。例如

particle.x(i) = rect(1)+mgd(1,1,0,10);

这里rect(1)给出位置,而mgd函数提供噪声

关于mgd函数的详细信息是:
  • 函数x=mgd(N,d,rmean,covariance)
  • 生成多元高斯分布
  • 用法x=mgd(N,d,mu,sigmax)
  • 此函数从d维生成N样本
    高斯分布

  • 我的N和d的值始终为1,如何在opencv c++中实现mgd函数?

    最佳答案

    看一下标准库"random",它包括用于不同发行版的方法,包括normal distribution

    如果变量不相关,则可以为每个维使用独立的一维随机数(请参见KeillRandor的答案),否则不正确。对于实现,您可以查看MATLAB的代码,为此,请在脚本编辑器中键入



    然后右键单击刚刚键入的命令,然后在上下文菜单中选择打开mvrnd。您将看到mvnrnd函数的MATLAB代码。

    关于c++ - 粒子滤波中的多元高斯分布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24158920/

    10-11 14:27