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

相关推荐
学涯乐码堂主1 小时前
有趣的“打擂台算法”
c++·算法·青少年编程·gesp
切糕师学AI2 小时前
环形缓冲区(Ring Buffer / Circular Buffer)详解:原理、优势、应用与高性能实现
数据结构·环形缓冲区
Tutankaaa2 小时前
知识竞赛题库设计全攻略
人工智能·算法
WolfGang0073212 小时前
代码随想录算法训练营 Day50 | 图论 part08
数据结构·算法·图论
guygg883 小时前
基于遗传算法的双层规划模型求解MATLAB实现
开发语言·matlab
aini_lovee4 小时前
多目标粒子群优化(MOPSO)双适应度函数MATLAB实现
人工智能·算法·matlab
yong99904 小时前
图像融合与拼接:完整MATLAB工具箱
算法·计算机视觉·matlab
春风不语5054 小时前
深入理解主成分分析(PCA)
算法
apollowing4 小时前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶(二十二)
算法·启发式算法·web app
晚枫歌F5 小时前
最小堆定时器
数据结构·算法