標題:
[發問]
array怎麼計算平均、標準差?
[打印本頁]
作者:
acdx
時間:
2013-7-26 15:18
標題:
array怎麼計算平均、標準差?
我有個 array, 我想要用迴圈去算Array(0),Array(1)...,Array(n)的 STDEV及AVERAGE
WorksheetFunction.StDev(引數1, 引數2)
我不知怎麼把 array 的值餵給他,所以我把 array先印到某一個 Sheet 上,再用
WorksheetFunction.StDev(Range("Sheet").Cells(),("Sheet").Cells())
去抓值
這樣要先印出來再抓值有點慢
請問怎麼寫才能直接餵引數給 StDev 嗎?
--------------------------------
程式如下
For i = 0 To tRow - 1
MaxL(i) = Application.Max(Cells(StartRow + i, 3), Cells(StartRow + i, 4)) ' Loundness
MaxT(i) = Application.Max(Cells(StartRow + i, 6), Cells(StartRow + i, 7)) ' Tonality
Next i
作者:
GBKEE
時間:
2013-7-26 15:37
回復
1#
acdx
Ar(1) = Array(50, 60, 70, 80)
Ar(2) = Array(150, 260, 370, 480)
Maxl = Application.StDev(Ar(1), Ar(2))
複製代碼
作者:
acdx
時間:
2013-7-26 15:56
回復
2#
GBKEE
G大
我的矩陣大小是變數MaxL(i)=MaxL(0),MaxL(1),MaxL(2),...,MaxL(tRow - 1)
MaxT(i)=MaxT(0),MaxT(1),MaxT(2),...,MaxT(tRow-1)
tRow每次的值可能都會不一樣
該如何求MaxL(0),MaxL(1),MaxL(2),...,MaxL(tRow - 1)的表準差/平均值
及MaxT(0),MaxT(1),MaxT(2),...,MaxT(tRow-1)的表準差/平均值
作者:
GBKEE
時間:
2013-7-26 16:49
回復
3#
acdx
Option Explicit
Sub Ex()
Dim Ar(1 To 2), Maxl, Maxt, tRow
Ar(1) = Array(6, 7, 5, 8, 9, 1, 2, 0, 22, 28)
Ar(2) = Array(16, 17, 25, 18, 29, 31, 22, 20)
For tRow = 1 To UBound(Ar(1))
Maxl = Ar(1)
Maxt = Ar(2)
ReDim Preserve Maxl(tRow) '元素數 -> 0 TO tRow = tRow+1
ReDim Preserve Maxt(tRow)
'Preserve 選擇性引數。當改變原有陣列最後一維的大小時,仍然保有原來的資料的關鍵字。
Cells(tRow, "A") = Application.StDev(Maxl) / Application.Average(Maxl)
Cells(tRow, "B") = Application.StDev(Maxt) / Application.Average(Maxt)
Next
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)