how to plot linear regression ?

1 visualización (últimos 30 días)
Rand Ardat
Rand Ardat el 8 de Feb. de 2021
Comentada: Star Strider el 8 de Feb. de 2021
i want to do linear regression for : log(vp)=A-B/(T+273.15) !!
vp = [ 1 5 10 20 40 60 100 200 400 760]
T = [-36.7 -19.6 -11.5 -2.6 7.6 15.4 26.1 42.2 60.6 80.1]
y = log10(vp);
x = 1./(T+273.15);
% fit the polynomial
p = polyfit(x,y,1)
% p = -2035.33 8.75201
y=polyval(p,x)
plot(T,y,'or',T,vp,'b')
xlabel('T (C)')
ylabel('vp (mm Hg)')

Respuesta aceptada

Star Strider
Star Strider el 8 de Feb. de 2021
Try this:
figure
plot(T,vp,'or',T,10.^y,'b')
xlabel('T (C)')
ylabel('vp (mm Hg)')
The rest of the code is unchanged.
  2 comentarios
Rand Ardat
Rand Ardat el 8 de Feb. de 2021
thank you!
Star Strider
Star Strider el 8 de Feb. de 2021
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

the cyclist
the cyclist el 8 de Feb. de 2021
Editada: the cyclist el 8 de Feb. de 2021
You should plot
plot(T,10.^y,'or',T,vp,'b')
because you did the regression on log10(y), not y itself.
vp = [ 1 5 10 20 40 60 100 200 400 760]
T = [-36.7 -19.6 -11.5 -2.6 7.6 15.4 26.1 42.2 60.6 80.1]
y = log10(vp);
x = 1./(T+273.15);
% fit the polynomial
p = polyfit(x,y,1)
% p = -2035.33 8.75201
y=polyval(p,x)
plot(T,10.^y,'or',T,vp,'b')
xlabel('T (C)')
ylabel('vp (mm Hg)')
Also, it looks like you plotted the data as a line, and the fit as individual circles. I expect you want the opposite, which is more conventional.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by