【发布时间】:2018-03-15 23:35:37
【问题描述】:
我有一个似乎符合泊松分布的直方图。 为了适应它,我自己声明函数如下
xdata; ydata; % Arrays in which I have stored the data.
%Ydata tell us how many times the xdata is repeated in the set.
fun= @(x,xdata) (exp(-x(1))*(x(1).^(xdata)) )/(factorial(xdata)) %Function I
% want to use in the fit. It is a poisson distribution.
x0=[1]; %Approximated value of the parameter lambda to help the fit
p=lsqcurvefit(fun,x0,xdata,ydata); % Fit in the least square sense
我发现一个错误。它可能与“阶乘”有关。有什么想法吗?
【问题讨论】:
-
为什么
factorial(.xdata))中有.? -
我正在处理一个向量。也许是“。”放置错误。不过应该有吧?
-
没有。
.*与*不同。*是点积,.*是元素乘法。但是阶乘只适用于向量和标量。 -
我明白了。但是,如果我不放任何“。”无论如何,我在“lsqcurvefit”步骤中发现了一个错误。它说“使用 lsqcurvefit 时出错(第 248 行)函数值和 YDATA 大小不相等”
标签: matlab curve-fitting factorial poisson