全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2096 2
2011-12-14
本人是matlab菜鸟,正在初学中,有如下问题向板上牛人请教:
1、已知一个数据序列(1000个左右),如何画出其正态分布图?目前可以画出直方频率图,但都是柱形图,不是曲线图
2、如果已知上述序列的均值和方差,如何根据这个均值和方差画出正态分布图
主要是1画出来的正态分布可能不是标准的正态分布,会出现尖峰厚尾,所以想用1画出的图和2画出的图做对比,证明一下是否尖峰厚尾。
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-12-14 08:57:12
clear
clc
% Load data
data = load('data.txt');
epd(data)
mu = mean(data);
sigma = std(data);
x = min(data):.1:max(data);
y = normpdf(x,mu,sigma);
hold on
plot(x,y)
legend('empirical density function','standard normal density')

% plot empirical probability density function
function epd(x)
colormap([0.5 0.4 .6])
%%%%%%%%%%%%%%%% Histogram %%%%%%%%%%%%%%%%%%%
M=length(x);
xmax=max(x);
xmin=min(x);
dx=(xmax-xmin)/30;
centers = [xmin:dx:xmax];
N= hist(x,centers);
%bar(centers,N/(M*dx));
%hold on
plot(centers,N/(M*dx),'r-')

红线对应你所说的1所画的曲线图,蓝线对应2所画的标准正态分布曲线图。
其实看是否存在“尖峰厚尾”,主要看峰度是否大于3.

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-14 12:01:07
hnhs100 发表于 2011-12-14 08:57
clear
clc
% Load data
收到,非常感谢!
学习中。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群