📄 module1.bas
字号:
Attribute VB_Name = "Module1"
Public max_water_level!(13), min_water_level!(13) '时段最高、最低水位
Public Q1!(13) '入库流量
Public zx!(100), Q!(100) '下游水位与下泄流量关系
Public Z!(100), V!(100) '上游水位与库容关系
Public Q2!(200, 13), w!(200, 13) '下泄流量、下泄水量
Public vm!(200, 13) '水库库容
Public upwater_level!(200, 20), downwater_level!(200, 20) '上、下游水位
Public K!(200, 20), newK!(200, 20) '以k参数代水位
Public E!(200, 12), n!(200, 12) '时段电量、出力
Public QS!(200, 13) '弃水流量
Public fitness!(200), fitness1!(200) '适应度
Public bestfitness!, worstfitness!, averagefitness! '评价种群的最好、最差、平均适应度
Public flag!, k1!(200, 20), T!(13), m!(13), H!(200, 20)
Public zd!, capacity!, bzcl! '死水位、装机容量、保证出力
Public zm!, QL! '正常蓄水位、发电流量
Public aa!, bb!, cc!, ll!
Public population(500) As Single, newpopulation(500) As Single '代与新代
Public bestindex As Integer, worstindex As Integer '最好、最坏个体位置
Public popfitness!(500) '适应值累加和
Public pr!, pc!, pm! '选择、交叉、变异概率
Public insize!, popsize!, Maxgen! '个体大小、种群个数、进化代数
Public index!(100)
Public l As Integer '进化代数标记
Function cha!(x!(), y!(), n%, a!) '插值子程序
Dim zhi As Single
If x(1) >= a Then
zhi = y(1)
ElseIf x(n) < a Then
zhi = y(n)
Else
For i = 1 To n
If x(i) > a Or x(i) = a Then
ml = i
Exit For
End If
Next i
zhi = y(ml - 1) + (y(ml) - y(ml - 1)) * (a - x(ml - 1)) / (x(ml) - x(ml - 1))
End If
cha = zhi
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -