2024年4月15日发(作者:)

% 里面有字符串不对。

% 建立函数

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