Matlab中怎么在自己算得的直方图中加一条密度曲线

Matlab中怎么在自己算得的直方图中加一条密度曲线,第1张

直方图是对概率分布函数pdf的直接体现。

Matlab提供了hist()函数,来方便的产生直方图。只要知道了理论pdf,那么同时画出pdf和直方图就很简单了。

现在以高斯分布为例,来演示如何同时画出pdf和直方图。

归一化高斯概率分布函数如下:

Matlab中直接对应的高斯随机数产生器为randn()。

具体步骤如下:用randn()来产生一组随机序列。产生直方图用数学公式来产生高斯概率分布pdf将2和3的结果做图显示。

参考如下例程:

%========================

x = -4:05:4; %直方图的范围

y = randn(10000,1);%产生一组随机序列,10000个。

t = -4:001:4;

pdf = length(y)05exp(-t^2/2)/sqrt(2pi);%产生高斯概率分布pdf

hist(y,x);%画出直方图

hold on;

plot(t,pdf,'r')%画出高斯概率分布函数

%========================

结果如下:

origin画图:柱形图添加正态分布曲线的方法:

1、打开柱形图,在图形上双击鼠标左键。

2、双击后d出图示对话框,点击图示左侧菜单的“Sheet1”选项。

3、点击对话框右侧菜单中的“Data”选项。

4、进入“Data”菜单后,将“Type”后的选项修改为“Normed”。

5、设置完成后点击对话框下方的“OK”按钮。

6、柱形图添加正态分布完成,出现图示的正态图形。

1、首先在曲线上或检视器上点击,即可添加控制点ControlPoint(也称锚点AnchorPoint)。
2、其次按住Shift键后再点击以添加锚点,则不会改动曲线。在锚点上右击,删除锚点。
3、最后自定义曲线可在调板设置()菜单中,选择“可编辑的样条线”EditableSplines来启用样条线,这样,激活的锚点将多出两个手柄,以便于更精准、平滑地控制。以上就是达芬奇曲线直方图调出来的方式。

能画直方图,意味着已经有了y值,可以直接plot(y)。

如果用插值的话,曲线会更光滑一点。

看下面图2和图3的差别。

clc; clear; close all;
y1 = abs(randn(20,1));
figure,bar(y1);
axis([0 20 -inf inf]);
figure,plot(y1); % 图2是直接绘制出的曲线
axis([0 20 -inf inf]);
x = 1:(length(y1)-1)/1000:length(y1);
y2 = interp1(1:length(y1), y1, x, 'spline'); % 在区间[1,length(y1)]做样条插值(间隔一千分之一),即插值出1001个点
figure;
plot(x,y2);
axis([0 20 -inf inf]);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13145092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-11
下一篇 2023-06-11

发表评论

登录后才能评论

评论列表(0条)

保存