2013-01-17 34 views
5

Tôi có một mảng A với 100 giá trị số. Tôi muốn kiểm tra xem dữ liệu trong A thường được phân phối bằng cách sử dụng Shapiro-Wilk test hay không.Shapiro Wilk Test trong Matlab

Si tôi viết B = stats::swGOFT(A); trên dòng lệnh Matlab và tôi có lỗi:

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

Ai đó có thể vui lòng giúp tôi làm thế nào tôi có thể sử dụng stats::swGOFT() chính xác?

+0

Bạn có [Thống kê s Toolbox] (http://www.mathworks.com/products/statistics/) được cài đặt? –

+0

bạn có [hộp công cụ toán học biểu tượng] (http://www.mathworks.com/help/symbolic/index.html) được cài đặt không? – Shai

+0

Có, tôi có cả hộp công cụ toán học Thống kê và Biểu tượng. – user1987689

Trả lời

1

swGOFT là thư viện MuPAD, vì vậy bạn phải thực thi nó từ bên trong MuPAD thay vì từ dòng lệnh MATLAB. Trong dòng lệnh MATLAB, nhập mupad và nhấn enter. Bạn sẽ nhận được cái gọi là máy tính xách tay MuPAD, nơi bạn có thể nhập lệnh của bạn. Và nó phải là B := stats::swGOFT(A) như Shai đề cập trong nhận xét.

Chỉnh sửa: Để đưa A từ không gian làm việc Matlab vào không gian làm việc MuPAD, trước tiên bạn phải thay đổi nó thành đối tượng kiểu 'sym'. Các bước sẽ là:

  1. Tạo một đối tượng sym từ A với lệnh S = sym(A)
  2. Tạo một MuPAD máy tính xách tay được đặt tên với note = mupad
  3. Gửi biến S-note với setVar(note, S)
  4. Sử dụng S trong MuPAD lệnh thay vì A, như: B := stats::swGOFT(S)
+0

Có! Mảng của tôi (giá trị kép) A được lưu trong không gian làm việc MATLAB. Bây giờ tôi đặt lệnh từ máy tính xách tay MuPAF, cho tôi lỗi này ngay bây giờ. B: = số liệu thống kê :: swGOFT (A) Lỗi: toán hạng không hợp lệ: số nguyên, lý trí hoặc phao dự kiến ​​[stats :: getdata. – user1987689

+0

Tôi đã thêm bản chỉnh sửa để trả lời, vui lòng kiểm tra. – sundar

+0

Tôi đã gửi đúng S để ghi chú với setVar (lưu ý, S) và sau đó tôi sử dụng S trong MuPAD, nhưng tôi vẫn có lỗi tương tự. Thông báo lỗi không giúp ích nhiều cho việc hiểu điều gì sai. – user1987689