在 MATLAB 中计算柯尔莫哥罗夫-斯米尔诺夫测试



我正在使用 Matlab 中的 [h,p,ksstat,cv] = kstest(x,'cdf',y); 函数来查找ksstat和 p 值。我的xx(1,1:10) = [0.16;1.21;4.41;0.09;0.64;0.36;0.04;6.76;0.04;0.49],我的y = chi2cdf(x,9);是我正在指定或测试cdf。虽然我收到此错误:

Error using kstest (line 160)
Hypothesized CDF matrix must have 2 columns.

通常我会[h,p,ksstat,cv] = kstest(x,'cdf',y);在哪里 y = makedist('ChiSquared');但您可能知道不存在分布卡方,所以我不确定如何解决这个问题。任何建议将不胜感激。

我认为

你应该写:

[h,p,ksstat,cv] = kstest(x,'cdf',[x y]);

正如文档所说:

当 CDF 是矩阵时,第 1 列包含一组可能的 x 值,第 2 列包含相应的假设累积分布函数值 G(x(。

最新更新