⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch8example7prog1.m

📁 通信程序源代码和模型通信程序源代码和模型通信程序源代码和模型
💻 M
字号:
% ch8example7prog1.m
% 泊松分布随机数的产生和皮尔逊检验
clear;
lambda=4;          % 参数
N=1000;            % 产生非随机数样本个数
for n=1:N
    i=0; v=1;      % 初始化
    while(1)
        x=rand;    % [0,1]均匀随机数发生
        v=v*x;     % 连乘
        if v<exp(-lambda)
            break; % 输出一个泊松随机数
        else
            i=i+1; % 泊松计数器
        end
    end
    rndnum(n)=i;   % 随机数样本存放
end
% --------
% rndnum=poissrnd(lambda,N,1); % 此句可检验Matlab内部泊松随机数分布
% --------
% 假设分布为泊松分布,参数lambda的估计值为lambdahat
lambdahat=mean(rndnum)
% -------直方图检验法
[ni,xout]=hist(rndnum,[0:1:10]);
mi=ni./N;                       % 计算经验频率值
bar(xout,mi);hold on;
x=0:1:10;
pi=poisspdf(x,lambdahat);       % 计算统计分段区间的理论分布的概率值
pi(11)=1-sum(pi(1:10));         % 最后一个统计分段区间为[9.5, +inf]
plot(x,pi,'--ok');
% -------皮尔逊检验
chi2=sum((ni-N*pi).^2./(N*pi)); % 皮尔逊chi2统计量计算
alpha=0.05;                     % 显著性水平
r=1;                            % 分布中的未知参数个数
chi2_alpha=chi2inv(1-alpha,length(ni)-r-1) % 分位点
H=(chi2>chi2_alpha)             % H为1表示拒绝假设

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -