paramverify.m

来自「该程序用来检验monte carlo随机数的分布是否满足随机性要求。包括独立性检」· M 代码 · 共 26 行

M
26
字号
function okay=paramVerify(varargin)
if nargin==1
    alpha=0.05; %默认为0.05显著性检验
    r=varargin{1,1};
end
if nargin==2
    alpha=varargin{1,2};
    r=varargin{1,1};
end
r=reshape(r,1,[]);
theory_critical.alpha=[0.05 0.01];
theory_critical.pvalue=[1.96 2.58];
n=prod(size(r));
theory_exp=[1/2 1/3 1/12];theory_sigma=[1/(12*n)  4/(45*n) 1/(180*n)];
theory_critical=sqrt(theory_sigma)*theory_critical.pvalue(theory_critical.alpha==alpha);
real_exp=[mean(r) mean(r.^2) mean((r-mean(r)).^2)];
if any(abs(real_exp-theory_exp)>theory_critical)
    okay=0;
    fprintf('不满足参数统计检验!\n')
else
    okay=1;
    fprintf('满足参数统计检验!\n')
end


⌨️ 快捷键说明

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