首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

有些VB的代码看不明白解决思路

2012-03-26 
有些VB的代码看不明白PrivatelastPV(2-1)AsSingle最近两次测量值,索引小的时间靠前是什么意思?是定义一个

有些VB的代码看不明白
Private   lastPV(2   -   1)   As   Single       '最近两次测量值,索引小的时间靠前
是什么意思?是定义一个二元数组吗   ?注释“索引小的时间靠前”我没有看明白什么意思。


还有以下这个类里的“outArr(k)   =   outArr(k)   +   inArr(k   *   inArrSize   /   outArrSize   +   i)   ”部分,   我没有弄明白:
Public   Function   Filter(ByRef   inArr()   As   Single,   _
                                              ByVal   inArrSize   As   Long,   _
                                              ByVal   outArrSize   As   Long)   As   Double
'温度的数字滤波算法
'采用 "去除最大最小值+加权平均递推 "算法消除毛刺
'每100ms采一个数,每0.7秒输出一个PID值
        Filter   =   -1                           '不明白filter=-1表示什么意思
        If   inArrSize   <   20   Then   MsgBox   "inArrSize必须大于20 ":   Exit   Function      
        If   outArrSize   <=   2   Then   MsgBox   "outArrSize必须大于2 ":   Exit   Function
        Dim   outArr()   As   Single
        ReDim   outArr(outArrSize   -   1)
        '先把输入的值化为7个值
        Dim   i   As   Long,   k   As   Long
        For   k   =   0   To   outArrSize   -   1
                outArr(k)   =   0
                '取前10个数
                For   i   =   0   To   10   -   1
                        outArr(k)   =   outArr(k)   +   inArr(k   *   inArrSize   /   outArrSize   +   i)         '这一块没有看明白!!!!!
                Next   i
                '取后10个数
                For   i   =   0   To   10   -   1
                        outArr(k)   =   outArr(k)   +   inArr((k   +   1)   *   inArrSize   /   outArrSize   -   10   +   i)
                Next   i
                '求平均
                outArr(k)   =   outArr(k)   /   20
        Next   k
       
        If   bFirstEnter   =   True   Then   '如果是第1次进入
                'g_bFirstEnter   =   False
                m_lastAverVal   =   outArr(0)   '把历史平均值设为室温的第一个值
        End   If




请高手执教!

[解决办法]
Private lastPV(2 - 1) As Single 一维数组,个数为2,下标分别为0、1,对于下标从 0 开始的数组,有些人喜欢用 n-1 的方式来声明,表示数组个数为 n,纯属个人习惯。

里面 inArr(...) 一样是先将括号内的表达式求出值,该值作为下标取数组元素。具体逻辑自己分析。

热点排行