融合pcr失败的原因:如何判断一组数据是否符合正态分布,并用MATLAB编程实现

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 05:04:17
如何判断一组数据(这组数据是实验所得到的)是否符合正态分布,并用MATLAB编程实现?
谢谢!能不能更详细一点。

% 建立函数
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
end

先排序,再用利用数据拟合(自变量-1到1这间的数,个数同数据个数)求出其方程,并做出图形,比较之.