随机泊松噪声

发布于 2024-12-09 14:12:57 字数 418 浏览 3 评论 0原文

我正在 Mathematica 中寻找与以下 Matlab 函数等效的内容:

"R = poissrnd(lambda) 从具有平均参数 lambda 的泊松分布生成随机数。lambda 可以是向量、矩阵或多维数组。 R 的大小就是 lambda 的大小。”

下面是函数输出的示例。

b = 95.7165   95.7165   95.7165   95.7165   95.7165   98.9772   98.9772   98.9772   98.9772    0.3876

poissrnd(b)

ans =100   115     81    90   109   106   104    87   104     2

我怎样才能在 Mathematica 8 中做类似的事情?

I am looking for the equivalent of the below Matlab function in Mathematica:

"R = poissrnd(lambda) generates random numbers from the Poisson distribution with mean parameter lambda. lambda can be a vector, a matrix, or a multidimensional array. The size of R is the size of lambda."

An example of the function output below.

b = 95.7165   95.7165   95.7165   95.7165   95.7165   98.9772   98.9772   98.9772   98.9772    0.3876

poissrnd(b)

ans =100   115     81    90   109   106   104    87   104     2

How could I do something similar in Mathematica 8 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泪眸﹌ 2024-12-16 14:12:57

泊松分布仅针对整数定义。因此,您需要将 RandomIntegerPoissonDistribution 像这样:

poissrnd[lambda_]:=RandomInteger[PoissonDistribution[lambda]]

用法:

b = {95.7165, 95.7165, 95.7165, 95.7165, 95.7165, 98.9772, 98.9772, 
  98.9772, 98.9772, 0.3876};

poissrnd /@ b

Out[1] = {104, 97, 67, 84, 96, 123, 93, 96, 100, 0}

The Poisson distribution is defined only for integers. So you'll need to use RandomInteger with PoissonDistribution like so:

poissrnd[lambda_]:=RandomInteger[PoissonDistribution[lambda]]

Usage:

b = {95.7165, 95.7165, 95.7165, 95.7165, 95.7165, 98.9772, 98.9772, 
  98.9772, 98.9772, 0.3876};

poissrnd /@ b

Out[1] = {104, 97, 67, 84, 96, 123, 93, 96, 100, 0}
小苏打饼 2024-12-16 14:12:57

通过阅读大量的在线 Mathematica 文档,尤其是关于 PoissonDistribution< /a> 及其绘图示例,它会将您引向 PDF。这将允许您计算分布值。

请注意,根据我个人的经验,对于简单的分布,直接插入分布公式并使用它而不是花哨的 PDF 方法会更快。泊松分布并不太复杂。

By reading the extensive online Mathematica documentation, especially the bit about PoissonDistribution and its plotting example, which points you towards PDF. This will allow you to calculate the distribution values.

Note that in my personal experience, for simple distributions, it's faster to just plug in the distribution's formula and use that instead of the fancy PDF approach. A Poisson distribution isn't too complicated.

挖个坑埋了你 2024-12-16 14:12:57

或者,您可以使用

In[2]:= lambda = {1.0, 2.05, 11.04}

Out[2]= {1., 2.05, 11.04}

In[3]:= Map[RandomVariate[PoissonDistribution[#]] &, lambda]

Out[3]= {0, 3, 11}

Alternatively, you could use

In[2]:= lambda = {1.0, 2.05, 11.04}

Out[2]= {1., 2.05, 11.04}

In[3]:= Map[RandomVariate[PoissonDistribution[#]] &, lambda]

Out[3]= {0, 3, 11}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文