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.程序结果

相关推荐
唯道行17 小时前
计算机图形学·23 Weiler-Athenton多边形裁剪算法
算法·计算机视觉·几何学·计算机图形学·opengl
CoderYanger17 小时前
动态规划算法-01背包问题:50.分割等和子集
java·算法·leetcode·动态规划·1024程序员节
花月C17 小时前
个性化推荐:基于用户的协同过滤算法
开发语言·后端·算法·近邻算法
lxh011317 小时前
最长递增子序列
前端·数据结构·算法
rit843249918 小时前
基于MATLAB的BP神经网络手写数字识别
开发语言·神经网络·matlab
Youyzq18 小时前
前端项目发布到cdn上css被编译失效问题rgba失效和rgb失效
前端·css·算法·cdn
风筝在晴天搁浅18 小时前
代码随想录 516.最长回文子序列
算法
菜鸟233号19 小时前
力扣513 找树左下角的值 java实现
java·数据结构·算法·leetcode
亭上秋和景清19 小时前
指针进阶:函数指针详解
开发语言·c++·算法
leoufung19 小时前
LeetCode 22:Generate Parentheses 题解(DFS / 回溯)
算法·leetcode·深度优先