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 件)

カテゴリ

ヘルプ センター および File ExchangeData Logging についてさらに検索

質問済み:

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