我有一个包含 100 个数值的数组 A。我想使用Shapiro-Wilk 测试来测试 A 中的数据是否是正态分布的。
Si 我B = stats::swGOFT(A);在 Matlab 命令行上写,我有错误:
??? B = stats::swGOFT(A) Error: Unexpected MATLAB operator.
|
有人可以帮我如何stats::swGOFT()正确使用吗?
我有一个包含 100 个数值的数组 A。我想使用Shapiro-Wilk 测试来测试 A 中的数据是否是正态分布的。
Si 我B = stats::swGOFT(A);在 Matlab 命令行上写,我有错误:
??? B = stats::swGOFT(A) Error: Unexpected MATLAB operator.
|
有人可以帮我如何stats::swGOFT()正确使用吗?
swGOFT 是一个 MuPAD 库,因此您必须从 MuPAD 中执行它,而不是从 MATLAB 命令行本身。在 MATLAB 命令行中,键入mupad并按 Enter。您将获得所谓的 MuPAD 笔记本,您可以在其中输入命令。正如B := stats::swGOFT(A)Shai 在评论中提到的那样。
编辑:要从AMatlab 工作区带到 MuPAD 工作区,您首先必须将其更改为“sym”类型的对象。步骤是:
S = sym(A)note = mupadS到notewithsetVar(note, S)S在 MuPAD 命令中使用而不是A,例如:B := stats::swGOFT(S)已经 6 年了,Matlab 说它将删除 MuPAD,但我的回答仍然可能对某人有用。
我使用并修改了 sundar 的答案。步骤是:
size(A,1)==1)A使用命令创建一个 sym 对象S = sym(A)note = mupadsetVar(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成为行向量。