Plot Confidence Interval of 95%

11 views (last 30 days)
Renan Fraga
Renan Fraga on 30 May 2021
Commented: Star Strider on 5 Aug 2024
Hi, I used the optimoptions to find the fitted curve of my result points, and now I'm trying to plot the points, the fitted curve and the confidence interval.
These are the points:
T0 = [-49;-45;-19;-20;30;30;100;98;238;239;350;349];
Y = [0;0;0;0;12;8;48;44;46;34;34;40];
And this is the code to find the fitted curve:
lb = [];
ub = [];
% Starting point
x0 = [10;10;10;10];
F = @(x) (x(1) + x(2)*tanh((x(3) - T0)/x(4)) );
Fobj = @(x,T0) F(x);
options = optimoptions('lsqcurvefit','Algorithm','levenberg-marquardt');
x = lsqcurvefit(Fobj,x0,T0,Y,lb,ub,options);
So how can I plot the points, the fitted curve and the confidence interval together?

Answers (1)

Star Strider
Star Strider on 30 May 2021
The nlpredci funciton will work here, however in the presence of a constrained optimisation, no confidence limits may be reliable.
T0 = [-49;-45;-19;-20;30;30;100;98;238;239;350;349];
Y = [0;0;0;0;12;8;48;44;46;34;34;40];
% And this is the code to find the fitted curve:
lb = [];
ub = [];
% Starting point
x0 = [10;10;10;10];
F = @(x) (x(1) + x(2)*tanh((x(3) - T0)/x(4)) );
Fobj = @(x,T0) F(x);
options = optimoptions('lsqcurvefit','Algorithm','levenberg-marquardt');
[x,resnorm,residual,exitflag,output,lambda,jacobian] = lsqcurvefit(Fobj,x0,T0,Y,lb,ub,options);
Local minimum possible. lsqcurvefit stopped because the final change in the sum of squares relative to its initial value is less than the value of the function tolerance.
[Ypred,delta] = nlpredci(Fobj,T0,x,residual,'Jacobian',jacobian);
figure
plot(T0, Y,'p')
hold on
plot(T0, Ypred,'-r', T0,delta*[-1 1]+Ypred, '--r')
hold off
grid
legend('Data', 'Fitted Regression', '95% Confidence Limits', 'Location','best')
.
  4 Comments
Khadija
Khadija on 5 Aug 2024
How can I put the matrix of data in nlpredci?
Star Strider
Star Strider on 5 Aug 2024
Use the procedures described in the documentation for nlpredci.

Sign in to comment.

Categories

Find more on Linear and Nonlinear Regression in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!