Plot Confidence Interval of 95%
Show older comments
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)
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);
[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
on 4 Aug 2024
Hello Mr. Sniper, I am working on some code and other data, I am trying to determine a shaded area. of 95% confidence interval. I am trying to understand the last program that you corrected me to do this; does the function 'nlpredci' give a confidence interval?
if we try to do the process with two curves at the same time, will we use the same function?
Star Strider
on 4 Aug 2024
@Khadija — The nlpredci function returns tthe prediction interval, not the confidence interval. The two are similar however they are definitely not tthe same, with the prediction interval being ‘wider’ the the confidence interval. (I only discovered this difference recently.)
Khadija
on 5 Aug 2024
How can I put the matrix of data in nlpredci?
Star Strider
on 5 Aug 2024
Use the procedures described in the documentation for nlpredci.
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!