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 件のコメント

Walter Roberson
Walter Roberson 2018 年 1 月 20 日
Which model are you fitting against? What is the range of your x and y data? Have you put in any range constraints?
Giru Mishra
Giru Mishra 2018 年 1 月 20 日
編集済み: Matt J 2018 年 1 月 20 日
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])
Giru Mishra
Giru Mishra 2018 年 1 月 20 日
range of data is: x--> -4 to 6 y--> -5 to -2
Giru Mishra
Giru Mishra 2018 年 1 月 20 日
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 件)

カテゴリ

質問済み:

2018 年 1 月 20 日

編集済み:

2018 年 1 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by