請問一下,中位數的設計?

Q:編輯一程式,由使用者輸入四個數值,並計算出

  1. 次大值
  2. 次小值
  3. 算數平均數
  4. 中為數

因為我是新手,所以對於Labview的功能不熟

版本6.0

謝謝!

 

你自己對於這個問題有什麼看法呢?

可以使用LabVIEW內建的排序功能:
![](upload://gpwF4AXVXOFaaattaNYqMfX0h7H.jpeg)

如果他是從小到大排列,假設有100個element,那麼第二個element就是次小值;第99個element就是次大值。中位數就是你先用程式去判斷這個1D Array有幾個element,然後去取出中位數。

算術平均數的話,可以使用下面的icon:

![](upload://izhCHiKs1fH3YpLwuDFGAwMw4NJ.jpeg)

我對於中位數的觀念知道,但是使用Labview的工具還是有些不知道

觀念:在統計學中,所謂的中位數就是從一序列的數字中,先依數字大小排序。假設總共有n個數,若n為奇數,則最中間那一個數就是中 位數;如果n是偶數,那麼最中間那兩個數的平均數,就是中位數。

以下是我做的,但是我中位數還是還沒完成,希望你指導一下

1.關於你的問題,我針對你所提的4位數求中位數的問題做了一個例子,不知道是不  是你想要的,事實上這個範例是蠻陽春的,如果你想要做的好一點的話可能需要加入陣列元素個數的判斷,依據奇偶數來求出中位數!!

![](upload://tJlvHz8pPLRB1SrHGplBxUhXscz.jpeg)

2.程式:2004-10-05_003910_4輸入之中位數範例.vi

3.若還有問題,歡迎你再提出來,大家可以討論!!

Sincerely

================

Wirting by 麟仔

LabVIEW 7.0

Windows XP

================

以下case 0是當輸入陣列是偶數時,求出陣列中位數的程式,case 1是當輸入陣列是奇數時,求出陣列中位數的程式,給您參考

![](upload://nCbhfSnuqhDyMd05hmByluMGdjO.jpeg)

![](upload://v8ydo65KFsQivSaBHnxCrCQo8KY.jpeg)

這是我對於兩種型態作組合,但是還是有兩個地方不懂,請各位指導一下

謝謝!

  1. 就是要如何讓〝case structures〞的結構動作,因為他是零與1的動作觸發,而我還不知道要如何讓他動作?
  2. 如果有做錯的地方,請指導一下。

 

kyyyyyykimo38270.5978935185

我家裡的電腦還沒裝LabVIEW,所以只能口頭敘述,將排列後的陣列接到sorted array的位置,sorted array就可以把它刪除掉,再來輸入陣列是除以"2“,不是”0“,您打錯了,請更正,最後是假設您的輸入陣列是"5”,在數入數值,輸入5個數值,即可求出中位數,如果您的輸入陣列是"4",在數入數值,輸入4個數值,那個中位數即是第2個加第3個數值除以2即是中位數

這是我更改後的中位數以及錯誤訊息,希望能夠在指導一下

謝謝!

用tools的"文字工具"在case 0加上逗號和Default,如同我上面所貼的圖示,還有我之前有所過輸入陣列是除以"2“,不是”0",您打錯了,請更正,跟我上面所貼的圖示再作比較一下

我在更改後了,真是不好意思,一再的麻煩你們,真是再三的對不起!               kyyyyyykimo38270.7247916667

[QUOTE=kyyyyyykimo]我在更改後了,真是不好意思,一再的麻煩你們,真是再三的對不起!                [/QUOTE]

建議你,把case loop重接,因為你的case loop中的"?"是藍色的"整數"型態,你發現了嗎?? 而你輸入的值是浮點數的!!![](upload://wh1Jr0invKZTARRL2Hqlvc8do63.gif)

============

Writing by 麟仔

LabVIEW 7.0

Windows XP

============

以下是6.1版我做的case,您參考看看

Median_Machine_6.1.vi

![](upload://aeTYlqEc1qXvs9Jv3ju6pnq9wZt.gif) 您的Case structure可能少了"Default value"...

將游標移至Case structure選擇"0"CASE後,按右鍵點選Make this the default case.