gpt4 book ai didi

matlab - 如何在MatLab中绘制概率密度函数?

转载 作者:太空宇宙 更新时间:2023-11-03 19:31:09 30 4
gpt4 key购买 nike

x = [1 2 3 3 4]
cdfplot(x)

Google 后,我发现上面的代码会在 Matlab 中为我绘制一个累积分布函数。
有没有一种简单的方法可以画出概率密度函数?

澄清。我需要一个具有均匀分布的 x 轴的图形。我希望它看起来不像条形图。 (我会有数百万个整数)
不好意思,又来更新了。我的数据是整数,但实际上它们代表时间(我希望几个相当高的峰值具有完全相同的值,而其他值应该看起来好像它们不是离散的)。我实际上开始怀疑这是否本质上不是离散整数。 CDF 肯定可以,但是当转到 PDF 时,它似乎比我预期的要复杂。

最佳答案

您可以使用函数 hist 为整数生成离散概率分布:

data = [1 2 3 3 4];           %# Sample data
xRange = 0:10; %# Range of integers to compute a probability for
N = hist(data,xRange); %# Bin the data
plot(xRange,N./numel(data)); %# Plot the probabilities for each integer
xlabel('Integer value');
ylabel('Probability');

这是结果图:

enter image description here


更新:

在较新版本的 MATLAB 中,hist不再推荐功能。相反,您可以使用 histcounts像这样的函数产生与上面相同的图形:

data = [1 2 3 3 4];
N = histcounts(data, 'BinLimits', [0 10], 'BinMethod', 'integers', 'Normalization', 'pdf');
plot(N);
xlabel('Integer value');
ylabel('Probability');

关于matlab - 如何在MatLab中绘制概率密度函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757387/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com