Archive for '代码'

VBA实现的HSL与RGB颜色转换

RGB与HSL的颜色转换经常被用到,网上也有不少相应的实现,但VBA实现的相对难见到,因此水文工具集使用VBA实现RGB和HSL颜色转换代码,以供参考,具体源代码如下:
阅读全文 >

VBA自定义函数在水文数据四舍六入中的应用

水文资料整编规范》SL247—1999自2000年1月1日起实施,标准中有关规定如下:水文资料整编成果中,各要素的取用精度位数后一位数字采用“四舍六入”法取舍,即取用精度位数后一位数字小于五者则舍,大于五者则入,等于五时若其后有非零尾数则入,无非零尾数则视取用的末位数字的奇偶取舍,为奇则进,为偶则舍。
阅读全文 >

VBA实现保存Excel多个工作表中的选择区域为CSV文件

经常需要将Excel工作表转换成CSV文件,而使用另存为的功能只能对一个工作表进行操作,同时保存的总是整个工作表,而对于有多个工作表的文件特别是还有许多不需要保存到CSV文件中的内容,这样的处理方式就会显得很麻烦,因此采用VBA实现保存Excel多个工作表中的选择区域为CSV文件。首先在Excel选择需要导出的工作表(选择的方法是:点击选择第一个工作表,然后按下ctrl同时再点击其它工作表),选择之后,运行下面的VBA宏,宏代码如下:
阅读全文 >

模拟退火算法源代码

模拟退火算法是20世纪80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础,利用Metropolis算法并适当地控制温度的下降过程实现模拟退火,从而达到求解全局优化问题的目的。传统的模拟退火算法介绍可以看CnHUP写的一篇文章[模拟退火算法]。这里给出了传统模拟退火算法源代码,可供参考,也可以作为改进的基础,具体代码如下:
阅读全文 >

一元三点插值算法源代码

除了上次提到的线性插值算法,一元三点插值算法是一种精度更高的插值算法,使用这种方法插值出来的曲线不像线性插值算法那样在分段点的地方出现折点,显得更为平滑,具体代码如下:
阅读全文 >

VBA实现的线性插值算法源代码

水文应用中经常用到插值函数,如水位流量互查、水位库容互查等,而Excel作为一个常用的办公工具,如能在Excel中实现这样的函数是很实用的,这里给出一个VBA实现的线性插值算法代码,具体代码如下:
阅读全文 >

和声搜索算法源代码

和声搜索算法是一和启发式的全局搜索智能算法,在许多优化问题中得到了成功应用,而且在不少优化问题上比常规的一些智能算法的性能表现更优越,并且程序实现比较简单,这里给出的源代码是和声搜索算法的一个实现版本,harmony search算法的介绍流程可以参考CnHUP写的和声搜索算法,具体代码如下:
阅读全文 >