我的随机变量X具有以下概率密度函数,如下所示:
X/25, 0 <= x <= 5
2/5-x/25, 5 <= x <= 10
0, otherwise
我正在尝试将其输入到matlab中,但我似乎无法找到有关如何执行此操作的文档。有什么想法吗?
答案 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)
生成数字:
答案 1 :(得分:0)
通过Triangular distribution来识别概率密度函数,另一种方法是使用在使用makedist
的MATLAB统计工具箱中找到的pdf
和Probability 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)