【发布时间】:2016-03-27 07:54:36
【问题描述】:
我想计算两个三角随机变量之和,
P(x1+x2
有没有更快的方法在 Matlab 中实现两个三角随机变量之和?
编辑:似乎有一种更简单的方法,如minitab 演示中所示。所以这不是不可能的。遗憾的是,它没有解释如何计算 PDF。仍在研究如何在 matlab 中做到这一点。
EDIT2:根据建议,我在 Matlab 中使用conv 函数来开发两个随机变量之和的 PDF:
clear all;
clc;
pd1 = makedist('Triangular','a',85,'b',90,'c',100);
pd2 = makedist('Triangular','a',90,'b',100,'c',110);
x = linspace(85,290,200);
x1 = linspace(85,100,200);
x2 = linspace(90,110,200);
pdf1 = pdf(pd1,x1);
pdf2 = pdf(pd2,x2);
z = median(diff(x))*conv(pdf1,pdf2,'same');
p1 = trapz(x1,pdf1) %probability P(x1<y)
p2 = trapz(x2,pdf2) %probability P(x2<y)
p12 = trapz(x,z) %probability P(x1+x2 <y)
hold on;
plot(x1,pdf1) %plot pdf of dist. x1
plot(x2,pdf2) %plot pdf of dist. x2
plot(x,z) %plot pdf of x1+x2
hold off;
但是这段代码有两个问题:
- X1+X2 的 PDF 积分远高于 1。
- X1+X2 的 PDF 变化很大,具体取决于 x 的范围。直观地说,如果 X1+X2 大于 210(两个独立三角形分布的上限“c”之和,100 + 110),那么 P(X1+X2
【问题讨论】:
-
要执行元素乘法,您需要在两个 pdf 之间添加一个
.*。所以fun = @(x) pdf(pd2,x).*pdf(pd1,y-x); -
关于术语,您定义的概率函数取决于单个参数,因此我不会将其称为“联合”概率。
-
因对主题的错误理解而编辑。对不起!现在问题的措辞正确。
标签: matlab statistics probability convolution probability-distribution