首页 理论教育 现代中长期水文预报方法应用|6.4.2程序代码和计算流程图

现代中长期水文预报方法应用|6.4.2程序代码和计算流程图

时间:2023-10-04 理论教育 版权反馈
【摘要】:其程序代码如下:图6.8三层BP网络模型计算流程图神经网络学习子程序。其VisualBasic6.0程序代码如下:神经元输出计算子程序。程序输入权重Wm、神经元的输入BX、上层神经元个数M、本层个数II;输出UI。该程序采用指数函数作为转换函数,其程序代码如下:误差修正子程序。程序输入实测值BY、计算值VP及最后一层神经元个数PP。其程序代码如下:矩阵乘子程序。

现代中长期水文预报方法应用|6.4.2程序代码和计算流程图

人工神经网络模型包含预报子程序、人工神经网络学习子程序、神经元输出计算子程序、转换函数程序、误差修正子程序及误差计算函数等,还要用到矩阵转置和矩阵乘两个矩阵运算程序。分别介绍如下:

(1)预报子程序。程序输入预报因子数M、序列长度N及IX(N,M+1),其中IX(N,1)为预报对象序列,IX(N,2 toM+1)为预报因子序列,同时输入第二层神经元的个数JJ (其中第一层神经元个数为因子数M,第三层设定为1)、学习步长Aeta、动量系数Aefa、训练控制误差kWC;输出模拟序列OX(N)、总训练次数xlNum、相对误差小于10%的合格率HGL10。其程序代码如下:

图6.8 三层BP网络模型计算流程图

(2)神经网络学习子程序。程序输入训练控制误差kWC,预报对象(目标值)BY(PP),预报因子(网络输入)BX(M),因子数M,1~3 层神经元个数II、JJ、PP及学习步长Aeta,动量系数Aefa,1~3 层的权重WI(M,II)、WJ(II,JJ)、WP(JJ,PP),输出模拟(预报)值VP(PP)、训练次数Dn。其VisualBasic6.0程序代码如下:

(3)神经元输出计算子程序。程序输入权重Wm(M,II)、神经元的输入BX(M)、上层神经元个数M、本层个数II;输出UI(II)。其程序代码如下:

(4)转换函数程序。该程序采用指数函数作为转换函数(功能函数),其程序代码如下:

(5)误差修正子程序。程序输入权重WD(KI,KJ)、本层的反传误差DD(KJ)、神经元的输入VV(KI)、学习步长Aeta、动量系数Aefa、上层神经元个数KI、本层神经元个数KJ;输出修正后的权重DW(KI,KJ)。其程序代码如下:

(6)误差计算函数(子程序)。程序输入实测值BY(PP)、计算值VP(PP)及最后一层神经元个数PP。其程序代码如下:

(7)转置矩阵计算子程序。其程序代码如下:

(8)矩阵乘子程序。其程序代码如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈