近期忙,忙于生计,三千出头的工资早已力不从心~公众号自上次更新以来已久久没有动静。今天决定再更新一篇:关于水文P-III曲线的一些内容。 P-III曲线这里只讲一下绘图的问题。最近在做了几个频率曲线适线的事情,比较了手里好几个 P-III曲线绘图软件:里面的几种 都不失为优秀的 P-III曲线分析和 绘图系统,除了可以直接有系列值计算频率及绘图外,还可以实现均值、Cv、Cs的实时调整与同步绘图,有的工具甚至有一些可以用到的参数优化方法。 但有时候还是有些不方便: 如对经验点的定制化(定制化频率)、对微调的步长大小限制,当然其中一些工具excel版的可以通过二开实现。 因此就涉及到定制化的要求。 结合在最近的适线过程中 个人认为: 在某些特殊情况下 应 手动 计算各 经验点 ,然后再由绘图系统去单纯的绘图适线。 因此 可以计算出经验点后 由仅 工具 二、三、四的配图系统 去 适线 。 说到定制化可以想到编程:结合vba的excel、MATLAB、Python。下面给出MATLAB、Python的P-III曲线绘图系统代码。代码来源Github,在此向原作者感谢。
MATLAB版
function HessianProbabilityGrid(dataArray, estCv, estCsDivCv) % 控制Y轴坐标上限 MAX_Y = max(dataArray); MAX_Y = ceil(MAX_Y / 10^floor(log10(MAX_Y))) * 10^floor(log10(MAX_Y)); % 定义坐标函数 axisProb = [0.001, 0.01:0.01:0.1, 0.2:0.1:1, 1.2:0.2:2, 3:1:20, 22:2:80, 81:1:98, 98.2:0.2:99, 99.1:0.1:99.9]; %横坐标的值 axisX = norminv(axisProb / 100, 0, 1); axisX = axisX - axisX(1); % 纵向划分线 xLabel = [0.001 0.01 0.1 0.2 0.333 0.5 1 2 3 5 10 20 25 30 40 50 60 70 75 80 85 90 95 97 99 99.9 100]; xTic