📄 expjianyan.m
字号:
N=100; % 数据长度
tht=10; % 参数thita
x=exprnd(tht,1,N); % 服从指数分布的数据
x1=sort(x);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 累积理论分布F(x)
tht0=mean(x); % 估计理论参数值
for i=1:N-1
expthcdf(i)=expcdf(x1(i),tht0);
end
expthcdf(N)=1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 累积经验分布函数S(x)
y=ones(1,N); % 样本出现次数初始化
k=0; % 自适应步长初始化
for i=1:(1+k):(N-k) % 自适应调整步长
k=0; % 循环一次后,步长初始化
for j=(i+1):N
if x1(i)==x1(j)
k=k+1; % 若数据相等,则步长加1
for n=i:(i+k) % 共有k+1个数据相等,都等于y(i)
y(n)=1+k; % 样本出现次数。。。
end
end
end
end
% 样本出现次数数据处理
% 将重复的数据置零
t=1;
for i=1:t:(N-t+1)
if y(i)>1
t=y(i);
for m=i+1:i+t-1
y(m)=0; % 次数相同的数据除第一项外均置零
end
end
end
% 样本密度函数
for n=1:N
pdf(n)=y(n)/N; %处理后的样本密度函数,并不为真实的密度函数
end
% 样本分布函数
excdf(1)=pdf(1);
for n=2:N-1
excdf(n)=excdf(n-1)+pdf(n); % 样本经验分布函数S(x)
end
excdf(N)=1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% K-S检验
for i=1:N
ks(i)=expthcdf(i)-excdf(i);
end
expD=max(abs(ks));
if expD<0.226
disp('样本数据服从指数分布。')
subplot(2,2,3),plot(x1,excdf) % 假设检验经验分布图
title('样本拟合经验分布S(x)')
grid on
subplot(2,2,4),plot(x1,expthcdf) % 样本理论分布图
title('假设检验理论分布图F(x)');
grid on
else
disp('样本数据不服从指数分布。')
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 画图
% 图1为样本数据直方图
% 图2为样本数据数值图
% 图3为假设检验理论分布图
% 图4为样本数据的拟合分布图
subplot(2,2,1),hist(x)
title('样本数据直方图');
grid on
subplot(2,2,2),stem(x)
title('样本数据数值图');
grid on
% THE END !
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -