资源简介

标准化降水指数spi的matlab代码标准化降水指数spi的matlab代码标准化降水指数spi的matlab代码标准化降水指数spi的matlab代码

资源截图

代码片段和文件信息

%%
% Programmed by Taesam Lee  Dec.032009
% INRS-ETE Quebec Canada
function [Z]=SPI(Datascalenseas)
%Standardized Precipitation Index 
% Input Data
% Data : Monthly Data vector not matrix (monthly or seasonal precipitation)
% scale : 131248
% nseas : number of season (monthly=12)
% Example
% Z=SPI(gamrnd(1110001)312); 3-monthly scale 
% Notice that  the rest of the months of the fist year are removed.
% eg. if scale =3 fist year data 3-12 SPI values are not estimated.

%if row vector then make coloumn vector
%if (sz==1) Data(:1)=Data;end
erase_yr=ceil(scale/12);

% Data setting to scaled dataset
A1=[];
for is=1:scale A1=[A1Data(is:length(Data)-scale+is)];end
XS=sum(A12);

if(scale>1) XS(1:nseas*erase_yr-scale+1)=[];   end

for is=1:nseas
    tind=is:nseas:length(XS);
    Xn=XS(tind);
    [zeroa]=find(Xn==0);
    Xn_nozero=Xn;Xn_nozero(zeroa)=[];
    q=length(zeroa)/length(Xn);
    parm=gamfit(Xn_nozero);
    Gam_xs=q+(1-q)*gamcdf(Xnparm(1)parm(2));
    Z(tind)=norminv(Gam_xs);
end

%Gamma parameter estimation and tranform

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1098  2018-02-09 20:46  SPI.m
     目录           0  2018-02-09 20:47  __MACOSX\
     文件         670  2018-02-09 20:46  __MACOSX\._SPI.m

评论

共有 条评论