计算样本向量x的概率密度估计,返回在xi点的概率密度f,此时我们使用plot(xi,f)就可以绘制出概率密度曲线。
在matlab中有一组数据,要得到这组数据的概率密度分布,要注意连续随机变量概率密度函数与离散随机变量概率分布函数的区别。该函数,首先统计样本x在各个区间的概率(与hist有些相似),再自动选择xi,计算对应的xi点的概率密度。ksdensity这个函数画的是连续随机变量的概率密度函数,而连续随机变量的概率密度函数是可以大于1的。特别是值都是小于1的,那概率密度更可能是大于1的了,因为概率密度函数的积分等于1,横坐标小于1,纵坐标当然很可能大于1!而如果要得到小于1的概率分布,那实际上是离散的概率分布,离散随机变量实际上是没有概率密度函数的(当然你也可以说某些形式下有),只有概率分布函数。可以通过以下程序得到:
sApProMax=max(sApPro);
sApProMin=min(sApPro);
meanS=mean(sApPro);
x=linspace(sApProMin,sApProMax,20000+1);
yy=hist(sApPro,x); %计算各个区间的个数
yy=yy/length(sApPro); %计算各个区间的比例
bar(x,yy);
概率密度曲线指的是,随机变量x取不同值时所对应的概率大小曲线。
你不是得到了直方图了嘛。。。横轴就是你的随机变量x的不同的值,纵轴就是不同值所对应的概率。
plot(X, PX, 'k-');
X是你横轴的值所组成的向量
PX是不同x值对应的概率
你画出来,会发现,直方图是阶梯状的,而概率密度曲线,是连续的。但是走势相同