Clear Filters
Clear Filters

how to make linear fit

14 views (last 30 days)
ahmad Saad
ahmad Saad on 22 Oct 2023
Commented: William Rose on 22 Oct 2023
Hi;
How to make a plot similar to the attached figure ??

Accepted Answer

William Rose
William Rose on 22 Oct 2023
There are a number of ways you could do it. here is one example:
x=0:100;
y=2*x+20+10*randn(1,101);
p=polyfit(x,y,1);
% Compute fitted values
yfit=polyval(p,x);
% Plot results
plot(x,y,'b.',x,yfit,'-r')
Try it. Good luck.
  1 Comment
William Rose
William Rose on 22 Oct 2023
If you also want the RMSE and Pearson correlation, do the same code as before plus a few lines:
x=0:100;
y=2*x+20+10*randn(1,101);
p=polyfit(x,y,1);
rho=corr(x',y')
rho = 0.9876
% Compute fitted values
yfit=polyval(p,x);
rmse=sqrt(mean((yfit-y).^2))
rmse = 9.0371
% Plot results
plot(x,y,'b.',x,yfit,'-r')
And if you want to add the rho and rmse to the plot, do this:
hold on;
s1=sprintf('RMSE=%.2f',rmse);
text(10,200,s1);
s2=sprintf('rho=%.3f',rho);
text(60,200,s2)
text();
OK

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!