我有一个包含100个数值的数组A. 我想测试A中的数据是否正常使用Shapiro-Wilk test分发。
我在Matlab命令行上写B = stats::swGOFT(A);
,我有错误:
??? B = stats::swGOFT(A) Error: Unexpected MATLAB operator.
|
有人可以帮助我如何正确使用stats::swGOFT()
?
答案 0 :(得分:1)
swGOFT是一个MuPAD库,因此您必须从MuPAD中执行它,而不是从MATLAB命令行本身执行它。在MATLAB命令行中,键入mupad
并按Enter键。您将获得所谓的MuPAD笔记本,您可以在其中输入命令。正如Shai在评论中提到的那样,它应该是B := stats::swGOFT(A)
。
编辑:要将A
从Matlab工作区带到MuPAD工作区,首先必须将其更改为“sym”类型的对象。步骤将是:
S = sym(A)
note = mupad
S
note
发送给setVar(note, S)
S
而不是A
,例如:B := stats::swGOFT(S)
答案 1 :(得分:0)
已经6年了,Matlab说它将删除MuPAD,但我的回答仍然可能对某人有用。
我使用并修改了sundar的答案。步骤是:
size(A,1)==1
)A
从S = sym(A)
创建一个符号对象note = mupad
创建一个命名为MuPAD的笔记本setVar(note, 'S', S)
的音符S
的变量Dom::Matrix()
转换为类型为DOM_LIST
的变量:S2:=coerce(S, DOM_LIST):
B := stats::swGOFT(S2[1])
步骤1和5的原因如下。 coerce
函数将Dom::Matrix
转换为列表列表,其中Matrix的每一行都是一个列表。为了使所有元素都在单个列表中,我们需要S
作为行向量。