找回密码
 注册
查看: 7367|回复: 1

MatLab实现数据分布检验的程序

[复制链接]
发表于 2011-7-6 16:00:35 | 显示全部楼层 |阅读模式
MatLab实现数据分布检验的程序
拿到数据的时候,首先要判断以下这批数据服从什么分布,下面是matlab程序/

function f=p_judge(A,alpha)
% 本程序用于判别所给数据源在置信率为0.05时的概率分布形式。A的形式为n×1。
A=A(:);
[mu,sigma]=normfit(A);
p1=normcdf(A,mu,sigma);
[H1,s1]=kstest(A,[A,p1],alpha)
n=length(A);
if H1==0
    disp('该数据源服从正态分布。')
else
    disp('该数据源不服从正态分布。')
end
phat=gamfit(A,alpha);
p2=gamcdf(A,phat(1),phat(2));
[H2,s2]=kstest(A,[A,p2],alpha)
if H2==0
    disp('该数据源服从γ分布。')
else
    disp('该数据源不服从γ分布。')
end
lamda=poissfit(A,alpha);
p3=poisscdf(A,lamda);
[H3,s3]=kstest(A,[A,p3],alpha)
if H3==0
    disp('该数据源服从泊松分布。')  
else
    disp('该数据源不服从泊松分布。')  
end
mu=expfit(A,alpha);
p4=expcdf(A,mu);
[H4,s4]=kstest(A,[A,p4],alpha)
if H4==0
    disp('该数据源服从指数分布。')  
else
    disp('该数据源不服从指数分布。')  
end
[phat, pci] = raylfit(A, alpha)
p5=raylcdf(A,phat);
[H5,s5]=kstest(A,[A,p5],alpha)
if H5==0
    disp('该数据源服从rayleigh分布。')  
else
    disp('该数据源不服从rayleigh分布。')
end

回复

使用道具 举报

发表于 2011-11-28 15:30:41 | 显示全部楼层
matlab里面有关于分布拟合检验的源程序以及函数命令,请问当分布的参数未知时,它提供的分位数还准吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-21 19:45 , Processed in 0.031007 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表