NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

某段時間內,data及時平均

我想求,在某一時間內,所讀取到的data做及時的平均.以下是我的程式圖,是失敗的,

data會不斷重新覆蓋,平均值並不固定,最後的顯示是錯的,希望能有工程師或高手

給予指教,謝謝

 

 

由 moonsea 在 08-06-2009 04:28 AM
上編輯的訊息
0 積分
1 條訊息(共 14 條)
8,282 檢視
0 積分
2 條訊息(共 14 條)
8,275 檢視

Fatty 您好

我的laview的版本是7.0的,關於您的建議,我也在7.0裡找到類似的函數,但我用此函數在laview裡平均,和我存檔後用excel所平均的值並不相同,

我想問的是,這個差異是平均函數的取點數,和我存檔裡的取點數不相同的原因嗎?還是其他原因

 

0 積分
3 條訊息(共 14 條)
8,245 檢視

您好:

 

Mean 函數功能是單純把您丟給他陣列裡的資料全部加起來, 在除上資料的筆數來得出平均值. 如果您在Excel裡算的不同, 建議您比較一下您的數據, 看看是否有差異的地方. 或者您可以給此函數一些較單純的數據來做一個簡單的驗證.

 

謝謝

 

NI應用工程部

0 積分
4 條訊息(共 14 條)
8,233 檢視

您好

我想我程式的問題所在,可能是在於站存容量的問題,無論是mean的函數或者是我一開始程式寫求平均的方式,

比方說,mean裡面暫存的容量只有1000點,超過1000點,資料就開始覆蓋了,所以最後得到的平均值是最後1000點的平均

這是我的想法,如果要擴大函數的取點量,該如何做

0 積分
5 條訊息(共 14 條)
8,223 檢視

您好:

 

Mean函數的上限不只在1000. 請您確認您每個迴圈產生的筆數有多少. 在 Sampling Info 的控制器內有 #Samples 的設定.

 

我懷疑您每個迴圈在做平均時是用 1000 點在做, 但是您的檔案由於一直在儲存, 資料筆數會一直累積, 導致計算結果不同. 您可以試著只跑一個回圈, 把資料儲存在一個新的檔案內, 確定Excel 與 Mean 的資料都相同, 在做比較.

 

謝謝.

 

NI應用工程部

0 積分
6 條訊息(共 14 條)
8,208 檢視

您好

我利用您建議的方式,就一次迴圈來看平均值函數與excel去取的平均有什麼不同,取儲存點數裡的1000去做平均,與平均函數的平均出來的值並不同,我想可能是我之前所說的,平均值函數裡的sample點數有一定的數量,超過就開始覆蓋之前的data,抑或是他是採取其他運作方式,不過我想,這個函數可能並不適合來做動態資料的平均.我想請教各位,不知有什麼建議,對於在一定點數或一定時間內動態資料做平均的方式

0 積分
7 條訊息(共 14 條)
8,191 檢視

您好:

 

在此做了一個小程式請您參考. 我使用了與您類似的程式跑五個迴圈. 每個迴圈都會產生 2000 筆資料. 每一個回圈我都用了Mean 來做平均值並顯示在人機介面上. 同時我也把五個迴圈的資料存到 Excel 檔裡. 結果是 Excel 與 Mean 得到的平均值是一樣的. 請參考以下圖片.

 

另外, 在做平均時請注意小數點的位數是否有差異. 差異太大會導致平均值不同.

 

Code.bmp 為程式

data.bmp 為平均值的資料

 

謝謝.

 

NI應用工程部

 

 

0 積分
8 條訊息(共 14 條)
8,174 檢視

您好

感謝您的建議,不過您的程式範例,跟我要寫的程式方向並不一樣,我的程式是在讀取電壓的時候,在某一時間間格內做平均,所處理的數據為動態資料,需要控制的是讀取數據平均的方式,而您的程式是藉由控制波形產生器,而得到的數據,方向是不同的,以下檔案是,我寫的一個參考vi,是錯誤的,希望各位能夠給我一些建議,互相討論,謝謝

0 積分
9 條訊息(共 14 條)
8,102 檢視

您好:

 

我做了一個與您一模一樣的程式. 我設的Samples Per Channel 為1000所以說每個迴圈會有1000筆資料來做平均. 比較後發現Excel 與 Mean得到的平均值是一樣的. 在這裡有幾個問題想與您請教:

 

1. 您所說的在讀取電壓的時候,在某一時間間格內做平均指的是什麼? 我知道您是在擷取波形的同時在做平均的動作, 但只要您每一次給mean函數與excel 檔的資料是相同的話, 平均值一定會是一樣的. 如果您想要取出某一個時段的平均值, 您必須把這個時段的資料取出來. 您可以控制擷取的速度以及Samples per channel來控制您的資料量.

 

2. 您的程式中有加一個 FOR LOOP 不知用意在哪裡? 此FOR LOOP只是把同樣的資料做5次平均的動作.

 

謝謝.

 

NI應用工程部

 

 

0 積分
10 條訊息(共 14 條)
8,078 檢視