梯形概率分布,是指随机变量的概率呈梯形分布。如下图所示
其中,B点所代表的随机变量为最小值,C点所代表的随机变量为最大值,A到D区段所代表的随机变量为最可能的值
利用MATLAB生成梯形分布的随机数样本,并绘制其概率分布图,matlab代码如下
%梯形分布
a=-1; %分布左端,小于0的值:最小值
c=0;%最可能的值
d=1;%最可能的值
b=3; %分布右端,大于0的值:最大值
h=2/5; %梯形高
k1=h/(c-a); %梯形前坡段斜率
k2=-h/(b-d); %梯形后坡段斜率
invcdf=@(s)(sqrt(2*s/k1)+a).*(s<-a*h/2)+((a+c)/2+s/h).*(s>=-a*h/2&s<=(-a*h/2+h*(d-c)))+...
(b-sqrt(2*(s-1)/k2)).*(s>(-a*h/2+h*(d-c)));%cdf逆函数
N=1000000;%随机数数量
t=rand(1,N);
RV=invcdf(t); %随机变量数列
K=50; %统计区间数量
xx=linspace(a+(b-a)/K/2,b-(b-a)/K/2,K);
[n,xxx] = hist(RV,xx); %统计变量不同区间出现数量
p=K*n/N/(b-a); %不同区间出现的概率
x=[a c d b];
y=[0 h h 0]; %pdf图像
bar(xx,p,1);hold on
plot(x,y,'r','linewidth',2);hold off
xlabel('x');
ylabel('概率密度');
legend('密度直方图','理论概率密度曲线');
运行结果如下图