# How to get coefficient non linear fit?

49 views (last 30 days)

Show older comments

Hello I am using the following method to get the equation (y) to non linear model:

ft = fittype( 'a*exp(-b*x)+c', 'independent', 'x', 'dependent', 'y' );

opts = fitoptions( 'Method', 'NonlinearLeastSquares' );

% Fit model to data.

[fitresult, gof] = fit( ll', meanperiodos(:,1), ft, opts );

% Plot fit with data.

figure( 'Name', 'untitled fit 1' );

h = plot( fitresult, ll, meanperiodos(:,1) );

But I would like to get the coeeficients values to the equation and the coefficient interval and Rsquared, and I don´t know how to get it. Could any one help me? To be honest, I did it in the curve fitting tool and after that I generate the code, but I don´t know how to get the coefficientes.

##### 0 Comments

### Answers (2)

John D'Errico
on 14 Nov 2021

Edited: John D'Errico
on 14 Nov 2021

% Make up some random data since you gave us none

x = rand(50,1);

y = 0.3*exp(-2.5*x) + 1 + randn(size(x))/50;

plot(x,y,'.')

The fit

ft = fittype( 'a*exp(-b*x)+c', 'independent', 'x' );

opts = fitoptions( 'Method', 'NonlinearLeastSquares','start',[1 1 1]);

% Fit model to data.

% I should give more intelligent starting values here, but they

% are good enough for this simple problem

[fitresult, gof] = fit(x,y, ft, opts);

Now, look at what fit returns.

fitresult

gof

Can we extract what you want now? Of course.

fitresult.a

fitresult.b

fitresult.c

gof.rsquare

How would you get things like confidence intervals on the parameters? When you don't know how to interact with an object, try this:

methods(fitresult)

Do you see anything that might be useful? How about confint?

confint(fitresult)

Image Analyst
on 17 Nov 2021

### See Also

### Community Treasure Hunt

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

Start Hunting!