欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

[MATLAB] 基于曼宁公式求解复合断面水位-流量关系曲线-2 MATLAB 求解代码

最编程 2024-04-11 18:57:42
...

部分代码如下:

clc
close all
clear
%% 曼宁公式原理
% 流量Q=A*R^(2/3)*J^(1/2)/n
% 变量说明:
% 过水断面面积A
% 湿周L:流体和固体边缘接触周长
% 水面半径R=A/L
% 糙率n 
% 比降J ‰

%% 导入数据
load('X.mat');
nlength = length(X(:,1));

helpdlg("您的比降和糙率数据更改了么???","重要提示:");
n = 0.05;
J = 3.123 /1000;

Hmin = min( X(:,2) );          % 水位最低点
Hmax =max( X(:,2) );          % 水位最高点
% 将左右端节点水位高程设为最高点同一高程
% ---------------------------------------------
if X(1,2)==Hmax||X(end,2)==Hmax
    if X(1,2)~=X(end,2)
        if X(1,2)>X(end,2)
            % 初始断面高于结束断面
            X(nlength +1,1) = X(end,1);
            X(nlength +1,2) = X(1,2);
        else
            % 初始断面低于结束断面
            X(2:nlength +1,:) = X;
            X(1,1) = X(2,1);
            X(1,2) = X(end,2);
        end
        nlength = nlength +1;
    end    
else
    X(1,2) = Hmax;
    X(end,2) = Hmax;
end

糙率n增大(0.03-0.05之间),成灾水位对应的周期会减小。