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

📄 gev.m

📁 极值理论中各种函数及图像的程序。matlab实现。
💻 M
字号:
function res=gev(data,blocksz),
%Fits generalized extreme value distribution (GEV) to block maxima data
%
%USAGE: res=gev(data,blocksz)
%
%   data: Data vector
%blocksz: Blocksize
%
%    res: Fitted distribution
%
%         res.par_ests: Estimated parameters. 1X3 vector: 
%                                                        1st element: xi
%                                                        2nd element: sigma
%                                                        3rd element: mu
%           res.funval: Value of the negative log likelihood
%       res.terminated: Termination condition. 1 if successfully terminated
%          res.details: Details of the nonlinear minimization process of the negative
%                       likelihood
%           res.varcov: Variance-covariance matrix of the parameters
%          res.par_ses: Standard deviations of the parameters of the distribution
%             res.data: Extremes of the blocks

warning off
if (~isnan(blocksz))
    n_all=length(data);
    data=block(data,blocksz,'max');
end
data=data(~isnan(data));
n=length(data);
sigma0=sqrt((6*var(data))/pi);
mu0=mean(data)-0.57722*sigma0;
xi0=0.1;
theta=[xi0,sigma0,mu0];
tmp=data;
opts=optimset('MaxFunEvals',10000,'MaxIter',2000,'TolX',1e-6,'TolFun',1e-6,'Display','off');

y = 1 + (theta(1) * (data - theta(3)))./theta(2);
	if((theta(2) < 0) | (min(y) < 0))
		theta(2)=1;
        theta(3)=1;
    end
        
[res.par_ests,res.funval,res.terminated,res.details]=fminsearch('negloglikgev',theta,opts,tmp);
[res.par_ests,res.funval,res.terminated,res.details]=fminunc('negloglikgev',res.par_ests,opts,tmp);

res.varcov = hessigev('negloglikgev',res.par_ests,data);
res.par_ses=sqrt(diag(res.varcov));
res.data=data;

warning on


        

⌨️ 快捷键说明

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