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

急vb求平均值啊跪求高手帮助啊解决思路

2012-01-16 
急啊~~~~vb求平均值啊!!!!跪求高手帮助啊~~~~我用的数据采集卡,数据存储是这样求平均值的(一边采集一边算

急啊~~~~vb求平均值啊!!!!跪求高手帮助啊~~~~
我用的数据采集卡,数据存储是这样求平均值的(一边采集一边算平均值放在Excel表中的):取了第一个数放在excel的固定单元格中,取第二个数时把采集两个数的平均值还放回到刚才的单元格中,第三,第四如此类推,我要取100个数,     我虽然求出平均值,但稳定性不要,我要在这100个数中去掉10个最大值,10个最小值,就乘下80个数据的平均值,请问高手该怎么办啊???????

[解决办法]
dim a(100-1) as long
dim i as long, j as long
for i=0 to 99
a(i) = 采集数据
for j=i+1 to 99 '用以采集的数循环填充满 100 个成员
a(j) = a(j mod i)
next
cell( "A1 ") = AVG(a)
next

function AVG(a() as long) as double
dim b() as long
dim i as long
dim sum as long
b = sort(a) '复制一个数组并排序
for i= 20 to 79
sum = sum + b(i)
next
avg = sum / 80
end function

[解决办法]
这样做:
1 排序采用 ListBox 控件,设置成 Visual = False, Sorted = True。
2 将你轮询得到的数据顺序存放一个数组中。

Dim a(1 To 3200) As Long, i As Integer, j As Integer
Dim sum As Double, avg(1 To 32) As Double

For i = 1 To 32
List1.Clear
For j = i To 3200 Step 32
List1.AddItem Right( "0000000 " & Hex(a(j)), 8)
Next j
sum = 0
For j = 10 To 89
sum = sum + Val( "&H " & List1.List(j))
Next j
avg(i) = sum / 80
Next i

热点排行