【MATLAB】基于曼宁公式求解复式断面水位 您所在的位置:网站首页 水文站流量计算表怎么计算 【MATLAB】基于曼宁公式求解复式断面水位

【MATLAB】基于曼宁公式求解复式断面水位

2024-06-03 13:51| 来源: 网络整理| 查看: 265

基于曼宁公式求解复式断面水位-流量关系曲线 1 曼宁公式原理2 MATLAB求解代码3 案例4 代码获取链接参考

1 曼宁公式原理

在这里插入图片描述 在这里插入图片描述

2 MATLAB求解代码

输入数据说明:X为n×2矩阵,第一列数据为起点距;第二列数据为起点距对应水位高程

部分代码如下:

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之间),成灾水位对应的周期会减小。

3 案例

求解结果图形展示如下:

断面1: 在这里插入图片描述

断面2: - 断面2:![ 【说明】断面非单调的原因: 推测是因为曼宁公式的局限,代码在计算的时候固定比降和糙率不变,根据计算公式 Q~A*R,面积是单调增的,但是R=A/L(注:L为湿周),在复杂断面时,面积增加小部分,湿周可以增加很多,导致水利半径R变小,最终导致流量变小。 这也是我的疑惑,只知道原因,但是还不知道如何解决。但是代码针对规整的断面,水位-流量曲线应该是单增的。

断面3: 在这里插入图片描述

4 代码获取链接

基于曼宁公式求解复合断面水位-流量关系曲线 若需获取/有问题可私信

重点:将复杂过水断面(如复式断面)划分为多个子断面,计算各子断面的流量,相加得到整个复杂断面的流量。

参考


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有