我的连续变量很少,如下所示:
durs1=[3,40933 0,033630 0,25103 0,6361 0,71971 1,18311 1,91946 0,12842 0,97639 1,1383 0,46871 3,05241 2,34907 1,03788 0,76434 1,08798 1,462 0,4241 2,32128 0,29017..]
每个都有超过1000个值(全部为正数)。我用了
[a, b]=gamfit(durs1)
a =
2.3812 0.4200
b =
2.2316 0.3907
2.5408 0.4514
找到伽马分布的参数。现在我想做一个拟合优度测试,以便了解模型与我的数据的匹配程度。 Matlab提供了一个样本Kolmogorov-Smirnov测试来解决问题(http://www.mathworks.com/help/stats/kstest.html#btnyrvz-1) 但是当我运行我的代码时(基于他们的例子):
test_cdf=makedist('Gamma','a',2.38,'b',0.42)
[h, p]=kstest(durs1,'CDF',test_cdf)
我有这样的错误:“未定义的函数'makedist'用于'char'类型的输入参数。”
有人可以帮我修改我的代码吗?
答案 0 :(得分:1)
似乎统计工具箱的函数makedist
仅可从Matlab版本r2013a
获得。查看早期版本的文档,即使是r2012b
,也没有提到makedist
。所以我认为更新到最新版本的matlab可以解决你的问题。