在 08-06-2009 04:32 AM
Fatty 您好
我的laview的版本是7.0的,關於您的建議,我也在7.0裡找到類似的函數,但我用此函數在laview裡平均,和我存檔後用excel所平均的值並不相同,
我想問的是,這個差異是平均函數的取點數,和我存檔裡的取點數不相同的原因嗎?還是其他原因
在 08-10-2009 01:55 AM
您好:
Mean 函數功能是單純把您丟給他陣列裡的資料全部加起來, 在除上資料的筆數來得出平均值. 如果您在Excel裡算的不同, 建議您比較一下您的數據, 看看是否有差異的地方. 或者您可以給此函數一些較單純的數據來做一個簡單的驗證.
謝謝
NI應用工程部
您好
我想我程式的問題所在,可能是在於站存容量的問題,無論是mean的函數或者是我一開始程式寫求平均的方式,
比方說,mean裡面暫存的容量只有1000點,超過1000點,資料就開始覆蓋了,所以最後得到的平均值是最後1000點的平均
這是我的想法,如果要擴大函數的取點量,該如何做
在 08-10-2009 10:07 PM
您好:
Mean函數的上限不只在1000. 請您確認您每個迴圈產生的筆數有多少. 在 Sampling Info 的控制器內有 #Samples 的設定.
我懷疑您每個迴圈在做平均時是用 1000 點在做, 但是您的檔案由於一直在儲存, 資料筆數會一直累積, 導致計算結果不同. 您可以試著只跑一個回圈, 把資料儲存在一個新的檔案內, 確定Excel 與 Mean 的資料都相同, 在做比較.
謝謝.
NI應用工程部
您好
我利用您建議的方式,就一次迴圈來看平均值函數與excel去取的平均有什麼不同,取儲存點數裡的1000去做平均,與平均函數的平均出來的值並不同,我想可能是我之前所說的,平均值函數裡的sample點數有一定的數量,超過就開始覆蓋之前的data,抑或是他是採取其他運作方式,不過我想,這個函數可能並不適合來做動態資料的平均.我想請教各位,不知有什麼建議,對於在一定點數或一定時間內動態資料做平均的方式
在 08-12-2009 09:36 PM
您好:
在此做了一個小程式請您參考. 我使用了與您類似的程式跑五個迴圈. 每個迴圈都會產生 2000 筆資料. 每一個回圈我都用了Mean 來做平均值並顯示在人機介面上. 同時我也把五個迴圈的資料存到 Excel 檔裡. 結果是 Excel 與 Mean 得到的平均值是一樣的. 請參考以下圖片.
另外, 在做平均時請注意小數點的位數是否有差異. 差異太大會導致平均值不同.
Code.bmp 為程式
data.bmp 為平均值的資料
謝謝.
NI應用工程部
您好
感謝您的建議,不過您的程式範例,跟我要寫的程式方向並不一樣,我的程式是在讀取電壓的時候,在某一時間間格內做平均,所處理的數據為動態資料,需要控制的是讀取數據平均的方式,而您的程式是藉由控制波形產生器,而得到的數據,方向是不同的,以下檔案是,我寫的一個參考vi,是錯誤的,希望各位能夠給我一些建議,互相討論,謝謝
在 08-19-2009 01:36 AM
您好:
我做了一個與您一模一樣的程式. 我設的Samples Per Channel 為1000所以說每個迴圈會有1000筆資料來做平均. 比較後發現Excel 與 Mean得到的平均值是一樣的. 在這裡有幾個問題想與您請教:
1. 您所說的在讀取電壓的時候,在某一時間間格內做平均指的是什麼? 我知道您是在擷取波形的同時在做平均的動作, 但只要您每一次給mean函數與excel 檔的資料是相同的話, 平均值一定會是一樣的. 如果您想要取出某一個時段的平均值, 您必須把這個時段的資料取出來. 您可以控制擷取的速度以及Samples per channel來控制您的資料量.
2. 您的程式中有加一個 FOR LOOP 不知用意在哪裡? 此FOR LOOP只是把同樣的資料做5次平均的動作.
謝謝.
NI應用工程部