根据数值获得概率密度pdf和累积密度分布cdf(MATLAB语言)
y=randn(1,3000); % 生成1-by-3000的标准正态分布随机数
ymin=min(y);
ymax=max(y);
x=linspace(ymin,ymax,20); %将最大最小区间分成20个等分点(19等分),然后分别计算各个区间的个数
yy=hist(y,x); %计算各个区间的个数
yy=yy/length(y); %计算各个区间样本数所占总样本数的比例(概率)
bar(x,yy) %画出概率密度分布图
s=0;
for i=2:length(x)
s=[s,trapz(x([1:i]),yy([1:i]))]; % 使用trapz模拟积分
end
figure;
plot(x,s,'*-')
ymin=min(y);
ymax=max(y);
x=linspace(ymin,ymax,20); %将最大最小区间分成20个等分点(19等分),然后分别计算各个区间的个数
yy=hist(y,x); %计算各个区间的个数
yy=yy/length(y); %计算各个区间样本数所占总样本数的比例(概率)
bar(x,yy) %画出概率密度分布图
s=0;
for i=2:length(x)
s=[s,trapz(x([1:i]),yy([1:i]))]; % 使用trapz模拟积分
end
figure;
plot(x,s,'*-')