MATLAB计算标准径流指数(Standard Runoff Index,SRI)

1.标准径流指数(Standard Runoff Index,SRI)

标准径流指数(Standard Runoff Index,SRI)是一种基于流域实测或模拟径流数据的干旱评估指标,核心思路是通过对径流序列进行标准化处理,量化流域水资源的丰缺程度,从而实现对干旱(尤其是水文干旱)的识别、监测与等级划分。它在水文干旱研究、水资源管理、农业灌溉调度及生态保护等领域具有重要应用价值。

2.MATLAB代码

Matlab 复制代码
clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;

N = 2000;                  % 序列长度(示例)
P = max(0, 5+2*randn(N,1));% 合成"日降水"(mm),允许 0
Q = max(0, 20+5*randn(N,1)); % 合成"日径流",允许 0
t = (1:numel(P))';

%% 2.SRI(标准径流指数)

% SPI/SRI 时间尺度(窗口长度)。如果是"月尺度"数据,常见取 1/3/6/12;
% 如果是"日尺度"数据,等价于滑动天数(如 30/90/180/365)。
scale_sri = 30;    % 用于 SRI(对 Q 的滑动累积长度)

SRI = calc_SRI(Q, scale_sri);

figure;
plot(t, SRI, 'LineWidth',1.1); 
grid on; 
yline([ -2 -1 0 1 2],'--');
xlabel('t'); 
ylabel('SRI');
title(sprintf('SRI(窗口=%d)',scale_sri)); 

3.程序结果

相关推荐
普通网友10 分钟前
模板编译期机器学习
开发语言·c++·算法
普通网友12 分钟前
C++与机器学习框架
开发语言·c++·算法
普通网友13 分钟前
C++安全编程指南
开发语言·c++·算法
鱼骨不是鱼翅22 分钟前
力扣hot100----1day
python·算法·leetcode·职场和发展
2501_9412357327 分钟前
C++中的装饰器模式变体
开发语言·c++·算法
2501_9411112527 分钟前
基于C++的爬虫框架
开发语言·c++·算法
小欣加油28 分钟前
leetcode 429 N叉树的层序遍历
数据结构·c++·算法·leetcode·职场和发展
民乐团扒谱机29 分钟前
【元启发算法】SMA黏菌算法:当自然智慧走进代码世界
算法
Kuo-Teng1 小时前
LeetCode 142: Linked List Cycle II
java·算法·leetcode·链表·职场和发展
ada7_1 小时前
LeetCode(python)——73.矩阵置零
python·算法·leetcode·矩阵