2013-01-17 31 views
5

我有一個有100個數值的數組A. 我想測試A中的數據是否正常使用Shapiro-Wilk test分佈。Shapiro Wilk在Matlab中的測試

硅我寫Matlab的命令行B = stats::swGOFT(A);和我有錯誤:

??? B = stats::swGOFT(A) Error: Unexpected MATLAB operator. 
       | 

是否有人可以幫助我,我該如何使用stats::swGOFT()是否正確?

+0

你有[統計s工具箱](http://www.mathworks.com/products/statistics/)安裝? –

+0

你有[符號數學工具箱](http://www.mathworks.com/help/symbolic/index.html)嗎? – Shai

+0

是的,我有統計和符號數學工具箱。 – user1987689

回答

1

swGOFT是一個MuPAD庫,所以你必須從MuPAD而不是從MATLAB命令行本身執行它。在MATLAB命令行中輸入mupad,然後按回車。您將獲得所謂的MuPAD筆記本,您可以在其中輸入命令。正如Shai在評論中提到的那樣,它應該是B := stats::swGOFT(A)

編輯:要將A從Matlab工作區帶入MuPAD工作區,首先必須將其更改爲類型爲「sym」的對象。具體的步驟是:

  1. 用命令S = sym(A)
  2. 創建一個從一個符號對象創建一個名爲MuPAD筆記本note = mupad
  3. 送出可變SnotesetVar(note, S)
  4. 使用S在MuPAD命令而不是A,如:B := stats::swGOFT(S)
+0

是的!我的數組(雙值)A保存在matlab工作區中。現在,我把MuPAF筆記本的命令,現在給我這個錯誤。 B:= stats :: swGOFT(A)錯誤:無效操作數:整數,有理數或期望的花車[stats :: getdata。 – user1987689

+0

我已添加編輯來回答該問題,請檢查它。 – sundar

+0

我正確地發送S與setVar(注意,S)注意,然後我在MuPAD中使用S,但仍然有同樣的錯誤。錯誤信息對理解錯誤沒有多大幫助。 – user1987689