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 中查找有关 Data Logging 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by