【问题标题】:Generate random variable with known PDF expression in MATLAB在 MATLAB 中生成具有已知 PDF 表达式的随机变量
【发布时间】:2018-06-04 06:23:07
【问题描述】:

我知道随机变量 r 的概率密度函数 (PDF) 表达式为 2r/R^2,其中 0

有人可以帮我按照上述分布在 MATLAB 中生成随机变量 r 吗?

【问题讨论】:

标签: matlab random probability-density inverse-transform


【解决方案1】:

https://blogs.sas.com/content/iml/2013/07/22/the-inverse-cdf-method.html

我使用与他们相同的变量

f(x) = 2x/R^2

F(x) = x^2/R^2

求解方程 F(x) = u 中的 x

u*R^2 = x^2

x = sqrt(u * R^2) v -sqrt(u * R^2)

在 Matlab 中:

N=1E5;
R=1;
u = rand(1,N);
x = sqrt(u*R^2); 

histogram(x)

【讨论】:

  • 您的分布并不完全正确,因为他已将其定义为从 0 到 R,(因此是 PDF 中的 2)。所以平方根的负部分应该被“忽略”。
  • 不客气 - 但请删除不正确的代码而不是注释掉。
  • 更多关于逆变换的信息,请访问 stats.stackexchange.com/questions/184325/…here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-30
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多