资源简介
标准化降水指数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
- 上一篇:峰值检测代码
- 下一篇:基于MATLAB的FSK通信系统设计
评论
共有 条评论