用零填充数组的分布

时间:2017-12-12 23:23:25

标签: matlab plot distribution

我有来自不同强度的受试者的刺激数据(比如我们有54种不同的强度),接下来是他们认识到相应刺激的百分比:

x =    [0   0   0   0.50    0   0   0   0   0   0   0.5 0   0   0   0   0   0   0   0.125000000000000   0   0.333333333333333   0   0   0.111111111111111   0   0.428571428571429   0   0.285714285714286   0.166666666666667   0   0.1 0   0.400000000000000   0.5 0.4 0.25    0.6 0.727272727272727   0.714285714285714   0.25    0.666666666666667   0.777777777777778   1   0.75    0   1   0.9375  1   1   1   1   1   0.92    0.92]

假设第一个指数是最弱的刺激,最后一个指数最强,可见刺激越强,受试者识别的可能性越大。 我想现在适合这些值的分布,得到称为心理物理曲线的东西(看起来像this)。

我试过的是:

pd = fitdist(x,distribution);

但这会引发错误,我假设是因为x数组中的0。我还能做什么呢?

1 个答案:

答案 0 :(得分:0)

正如

中所述

Fit a sigmoid to my data using MATLAB

"我认为你可以使用"曲线拟合"在Matlab中的应用程序。你可以在APPS,数学,统计和优化中找到它。 。节"

你要做的是定义两个相同长度的矢量:

  • 一个有刺激的人
  • 一个与respone

之后,查看您的文件,您可以尝试使用" Curve Fitting"在matlab中应用,以适应sigmoid。

按下生成代码按钮后,matlab将创建一个可以产生相同结果的函数。