admin 管理员组文章数量: 1184232
2024年3月8日发(作者:java字符串下标索引)
% 里面有字符串不对。
% 建立函数
disp('该数据源服从正态分布。')等,中需要将里面的“”去掉。
建立m文件后查看一下里面的字符是否正确。
继续追问: 代码正确了怎么检验我的数据?是把数据定义为A,然后再调用这个代码的m文件吗?
补充回答: 输入数据A和alpha,然后查看command窗口的提示语句。
继续追问:
??? Input argument "A" is undefined.
Error in ==> p_judge at 4
[mu,sigma]=normfit(A);
这是我按你说的修改后的提示错误,怎么修改呀?谢谢
补充回答: 可否贴一下你的调用语句?
继续追问:
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)
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
这个就是我建立的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 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 = 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
%% rayleigh分布判断
[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
结果
该数据源服从正态分布。
该数据源服从γ分布。
该数据源服从泊松分布。
该数据源不服从指数分布。
该数据源不服从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)
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
主要是kstest的用法
版权声明:本文标题:MATLAB分布检验程序 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1709850094a548096.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论