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 Commenti

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 il 20 Gen 2018
Modificato: Matt J il 20 Gen 2018
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

Accedi per commentare.

 Risposta accettata

Matt J
Matt J il 20 Gen 2018
Modificato: Matt J il 20 Gen 2018

0 voti

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.

Più risposte (0)

Richiesto:

il 20 Gen 2018

Modificato:

il 20 Gen 2018

Community Treasure Hunt

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

Start Hunting!

Translated by