【问题标题】:expected value of random uniformly variable in matlabmatlab中随机均匀变量的期望值
【发布时间】:2018-10-24 02:34:59
【问题描述】:

我实际上不知道这篇文章是否属于这个社区,但我认为这是我的代码失败而不是我的计算。(如果它不属于这里,我会将这篇文章移到另一个社区)

我在概率课程中得到了一个作业来证明以下随机变量 的期望值

我需要在 matlab 中编写代码,在 [0,1] 之间获取 N 随机实数并为每个 计算以下值 ,并说明为什么值序列会收敛到值

我在matlab中写了如下代码:

 n = [2^5,2^6,2^7,2^8,2^9,2^10,2^11,2^12,2^13];
 for i=1:9
   X = rand(n(i),1);
   E(i) = sum(sin(X))/n(i);
 end `

但 E(i) 的值收敛到 0.46 而不是实际的期望值。

我的代码做错了什么?

谢谢你, 迈克尔

【问题讨论】:

  • 请不要放代码图片。编辑您的问题并将代码复制粘贴到其中。工具栏上有一个按钮,您可以按该按钮将其格式化为代码。这样我们就可以在不输入代码的情况下试用您的代码。此外,我们可以在不眯着眼睛看图片中的小字体的情况下阅读它(在手机上,我什至无法放大到读起来舒服)。谢谢!
  • 我没有在代码中看到错误。但可以改进:您可以使用mean 计算期望值。您应该在循环外预先分配E=zeros(size(n))
  • 你的计算有误。实际期望值为 1-cos(1) 或大约 0.46。
  • 是的,你说得对……我已经编辑了这篇文章

标签: matlab random probability


【解决方案1】:

您的代码给出了正确的答案,您错误地计算了理论预期值。通过无意识统计学家定律得出的正确结果是

Integral[0,1] sin(x) f(x) dx = Integral[0,1] sin(x) 1 dx
                             = -cos(x) evaluated from 0 to 1
                             = -cos(1) - -cos(0)
                             = cos(0) - cos(1)
                             = 0.45969769413186023.

【讨论】:

    猜你喜欢
    • 2019-07-29
    • 2019-01-28
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2020-12-24
    相关资源
    最近更新 更多