《MATLAB分布检验程序》由会员分享,可在线阅读,更多相关《MATLAB分布检验程序(9页珍藏版)》请在金锄头文库上搜索。
1、% 里面有 字符 串不对。% 建立函数disp(该数据源 服从 正态分布 。)等,中需要将里面的“ ” 去掉。建立 m 文件后查看一下里面的字符是否正确。继续追问:代码正确了怎么检验我的数据?是把数据定义为A,然后再调用这个代码的m文件吗?补充回答:输入数据A 和 alpha,然后查看command 窗口的提示语句。继续追问:? Input argument “A“ is undefined.Error in = p_judge at 4 mu,sigma=normfit(A); 这是我按你说的修改后的提示错误,怎么修改呀?谢谢补充回答:可否贴一下你的调用语句?继续追问:function f=
2、p_judge(A,alpha) % 本程序用于判别所给数据源在置信率为0.05时的概率分布形式。A 的形式为n 1。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(该数据源服从分布。 )
3、 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, al
4、pha) p5=raylcdf(A,phat); H5,s5=kstest(A,A,p5,alpha) if H5=0 disp(该数据源服从rayleigh 分布。 ) else disp(该数据源不服从rayleigh 分布。 ) end 这个就是我建立的m 文件补充回答:嗯,然后你输入的数据和调用语句呢?继续追问:我不会调用呀!我这有组数据21 26 20 22 23 27 20 25 27 21 17 26 22 22 19 18 26 17 26 20 19 20 25 20 25 26 23 26 21 20 帮我试试,谢谢补充回答:代码% By lyqmath function
5、main() clc; A = 21 26 20 22 23 27 20 25 27 21 17 26 22 22 19 18 26 17 26 20 19 20 25 20 25 26 23 26 21 20; p_judge(A, 0.1); % 建立函数function p_judge(A,alpha) % 本程序用于判别所给数据源在置信率为0.05时的概率分布形式。A 的形式为n 1。% 正态分布判断mu, sigma = normfit(A); p1 = normcdf(A, mu, sigma); H1, s1 = kstest(A, A, p1, alpha); n = leng
6、th(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, p
7、3, 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 % rayleigh 分布判断phat, pci = raylfit(A, alpha); p5 = raylcdf(A, phat); H5, s5 = kstest(A, A, p
8、5, alpha); if H5 = 0 disp(该数据源服从rayleigh 分布。 ) else disp(该数据源不服从rayleigh 分布。 ) end 结果该数据源服从正态分布。该数据源服从 分布。该数据源服从泊松分布。该数据源不服从指数分布。该数据源不服从rayleigh 分布。matlab 中:function f=p_judge(A,alpha) % 本程序用于判别所给数据源在置信率为0.05 时的概率分布形式。A 的形式为n 1。mu,sigma=normfit(A); p1=normcdf(A,mu,sigma); H1,s1=kstest(A,A,p1,alpha)
9、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( 该数据源服从泊松分布
10、。) 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 主要是 kstest 的用法