【问题标题】:Random Variables Matlab随机变量 Matlab
【发布时间】:2014-04-14 04:03:40
【问题描述】:

我有一个随机变量 X,它的概率密度函数如下:

X/25, 0 <= x <= 5

2/5-x/25, 5 <= x <= 10

0, otherwise

我正在尝试将其输入 matlab,但似乎找不到有关如何执行此操作的文档。有什么想法吗?

【问题讨论】:

  • 你想用它做什么?你想绘制它,还是使用分布或其他东西绘制随机数?另外,等式第二行中的 0.5 是错字吗?

标签: matlab distribution probability-density


【解决方案1】:

您可以像这样生成您描述的概率密度函数:

function [y] = f( x )

if (x>=0 && x<=5)
    y = x/25;
elseif (x>=5 && x<=10)
    y =2/5-x/25;
else
    y=0;
end

end

如果您想使用向量 x 绘制函数,可以使用:

function [y] = f( x )

n = numel(x);
y = zeros(1,n);

for k = 1:n
if (x(k)>=0 && x(k)<=5)
    y(k) = x(k)/25;
elseif (x(k)>=5 && x(k)<=10)
    y(k) =2/5-x(k)/25;
else
    y(k)=0;
end

end

您实际上可以将第二个函数定义用于 x 和 x 的单个值作为值向量。上面函数的向量x,像这样:

x = 0:0.1:15;
y = f(x)

产生图形:

【讨论】:

    【解决方案2】:

    识别probability density function (PDF) 来自Triangular distribution,另一种方法是使用MATLAB 统计工具箱中使用Probability Distribution Objectsmakedist()pdf() 函数。

    下面的示例代码。

    % MATLAB R2018b
    pd = makedist('Triangular',0,5,10);     % Define probability distribution object
    X = 0:.1:12;
    plot(X,pdf(pd,X),'r-','LineWidth',1.4)  % Use pdf() function 
    

    【讨论】:

      猜你喜欢
      • 2015-12-11
      • 1970-01-01
      • 2012-10-17
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 2020-09-21
      相关资源
      最近更新 更多