Edward Linus's personal blog, focusing on coding and etc.

ArchiveApril 2017

水文测验学中的数字修约C#实现

前言 为了更好的记录数据和查找数据,在进行具体数字运算前,需按照一定的规则确定一致的位数,然后舍去某些数字后面多余的尾数。现在被广泛使用的数字修约规则主要有四舍五入规则和四舍六入五留双规则。 我们对于四舍五入修约规则再熟悉不过了,这个规则贯彻了小学中学,甚至大学的数字修约过程。利用这种方法修约简单快捷,但实际上这种规则由于舍去的是“1、2、3、4”,入位的是“5、6、7、8、9”,这样必然会造成结果的系统偏高,误差偏大1/9。 与此相比,四舍六入五留双规则就精确的多得多,但与此同时也会相对麻烦一些。 四舍六入五留双规则的具体使用方法是: (1)当尾数小于或等于4时,直接将尾数舍去; (2)当尾数大于或等于6时,将尾数舍去并向前一位进位; (3)当尾数为 5,而尾数后面的字均为 0时,应看尾数5的前一位:若前一位数字此时为奇数,就应向前进一位;若前一位数字此时为偶数,则应该将尾数舍去。...

马斯京根法流量演算中的参数K及x估计

前言 马斯京根法是由G.T.麦卡锡于1938年提出,在我国河段流量演算中得到了广泛地运用,经过了几十年的发展,马斯京根法已经相当的成熟,但是实际使用中,马斯京根法依然存在许多限制,在二参数马斯京根法中,存在无区间旁侧入流的假定,若需要用在有旁侧入流的河段中,需要根据具体情况对马斯京根法进行修改,如使用三参数马斯京根法。 基本马斯京根方法 马斯京根法(以下简称马法)中河段内入流、出流及槽蓄量之间的关系以连续方程和槽蓄方程表示: I-O=dW/dt                                                            (1) W=K[xI+(1-x)O]                                                  (2) 式中,I为入流;O为出流 ;W为槽蓄量; K 为槽蓄系数 ( 量纲为时间) ; X...

另一种思路实现IDM百度云高速下载

前言
百度网盘三月份一次更新之后,通过PCS API方式下载的速度大不如前,移动50M带宽测试下来只有100KB/s的速度,实在是让人很懊恼。
不过万幸的是,有人发现通过以打包方式下载文件依然能打到高速,经过测试移动50M带宽下载能跑到1.5MB/s,下图是随手截到的一个小文件的下载速度。

方法实现
利用这种下载方式会稍微麻烦一点,如果浏览器没有安装Tampermonkey下先安装插件:,如果已经安装过了可以跳过这一步。
随后安装“百度网盘直接下载助手”这个脚本:
安装完毕脚本,打开网页百度网盘,随便上传一个小文件到待下载文件的文件夹下,随后选择这个上传的文件和待下载的文件,在上方的功能区按钮中找到”下载助手“,选择”直接下载“->”显示链接“,将弹出窗口中的提供的链接复制到IDM中即可实现高速下载。
后记
这种方法能用多久说不清楚,百度应该很快会发现,切用且珍惜

逐步回归的Matlab实现

其实Matlab本身提供了逐步回归的方案也就是stepwise,不过逐步回归的实现其实并不复杂。作为中长期水报的结课作业,三四行代码实现有点太对不起这一门课了,故花了点时间实现了逐步回归的算法。 逐步回归计算流程图如下图所示: 代码如下: regression.m MATLAB clc clear all y=importdata('预报对象.txt');%预报对象 x=importdata('影响因子.txt');%预报因子 M=[x y];%合并预报因子和预报对象 n=size(M,1);%数据总数 XNUM=size(x,2);%预报因子数目 TOTALNUM=size(M,2);%因子和对象总数 MM=roundn(mean(M),-2);%平均值矩阵 R=corrcoef(M);%相关系数矩阵 COVM=cov(M);%协方差 flag=0;%循环次数...

三次样条插值及最小二乘法插值的C#实现

前言 在水文预报中,利用1小时单位线计算而来的S曲线可以很方便的完成单位线的时段转换。实际运用中,当目标单位线时段长Δtk是原始单位线时段长Δt0的整数倍,即当Δtk=KΔt0 (K=1,2,…N)时,可以不需要计算出Δt0=1h的S曲线即可完成单位线的时段转换,其方法为由原始单位线计算得S(t) (Δt=Δt0),接着计算得S(t-KΔt),两个S曲线相减再除以K即可得到目标单位线的q(t)曲线,但当Δtk!=KΔt0 (K=1,2,…N)时,就必须得通过三次样条插值得到Δt=1h的S曲线后再进行接下来的时段转换计算。 插值实现 Interpolation.cs C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System...

Edward Linus's personal blog, focusing on coding and etc.

Meta