Error while running the funcyion

While running my function, I am getting following error. PLease help me
Error using fit>iFit (line 340)
Complex value computed by model function, fitting
cannot continue.
Try using or tightening upper and lower bounds on
coefficients.
Error in fit (line 108)
[fitobj, goodness, output, convmsg] = iFit(
xdatain, ydatain, fittypeobj, ...

4 个评论

Which model are you fitting against? What is the range of your x and y data? Have you put in any range constraints?
Model is:
function y = lc(x,A,c,b,d)
y = zeros(size(x));
for i = 1:length(x)
y(i)=(-b)*(log10(x(i))-log10(c))+log10(A);
end
and then calling it as:
t = fittype('lc(x,A,c,b,d)')
f=fit(x,y,ft,'startpoint',[10 -4 1 2])
range of data is: x--> -4 to 6 y--> -5 to -2
and data is in log.. i.e. the data to be fitted is in log

请先登录,再进行评论。

 采纳的回答

Matt J
Matt J 2018-1-20
编辑:Matt J 2018-1-20

0 个投票

If c is allowed to be negative, then your model function will produce complex numbers via log10(c). Use the 'Lower' and 'Upper options to specify bounds.

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Model-Based Calibration Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by