在matlab中如何求信号的概率密度函数
的有关信息介绍如下:在matlab中有一组数据,要得到这组数据的概率密度分布,要注意连续随机变量概率密度函数与离散随机变量概率分布函数的区别。
Ksdensity核心平滑密度估计
[f,xi] = ksdensity(x)
计算样本向量x的概率密度估计,返回在xi点的概率密度f,此时我们使用plot(xi,f)就可以绘制出概率密度曲线。
该函数,首先统计样本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)。