随机变量Matlab

时间:2014-04-14 04:03:41

标签: matlab

我的随机变量X具有以下概率密度函数,如下所示:

X/25, 0 <= x <= 5

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

0, otherwise

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

2 个答案:

答案 0 :(得分:0)

你可以产生你所描述的概率密度函数:

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

这是假设有一个拼写错误,0.5应该是5.如果你想使用向量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)

生成数字: enter image description here

答案 1 :(得分:0)

通过Triangular distribution来识别概率密度函数,另一种方法是使用在使用makedist的MATLAB统计工具箱中找到的pdfProbability Distribution Objects函数。

下面的示例代码。

% 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)