Akzeptierte Antwort

William Rose
William Rose am 22 Okt. 2023

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by