# Polyfit, polyval and plot

173 visualizaciones (últimos 30 días)
Jovos el 16 de Feb. de 2016
Comentada: Jovos el 18 de Feb. de 2016
I am trying to fit the polynomials to the data with 0,1,2 degrees respectively and plot them on the same graph. I wonder why there is only one line shown on the plot which is the 0 degree polynomial.
x = 1:503;
polyfit(y,x,0);
coef1 = polyfit(y,x,0);
y1 = polyval(coef1,x);
hold on
plot(x,y);
plot(x,y1);
polyfit(y,x,1);
coef2 = polyfit(y,x,1);
y2 = polyval(coef2,x);
plot(x,y2);
polyfit(y,x,2);
coef3 = polyfit(y,x,2);
y3 = polyval(coef3,x);
plot(x,y3);
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

the cyclist el 16 de Feb. de 2016

Because the syntax should be

```polyfit(x,y,N)
```

and not

```polyfit(y,x,N)
```

Here is some code that illustrates the fix:

```x = 1:503;
```
```y = 250 + 0.02*x + 0.005*x.^2 + 0.2*rand(1,503).*x;
```
```figure
polyfit(y,x,0);
coef1 = polyfit(x,y,0);
y1 = polyval(coef1,x);
hold on
plot(x,y,'.');
plot(x,y1);
polyfit(x,y,1);
coef2 = polyfit(x,y,1);
y2 = polyval(coef2,x);
plot(x,y2);
polyfit(y,x,2);
coef3 = polyfit(x,y,2);
y3 = polyval(coef3,x);
plot(x,y3);
```
##### 5 comentariosMostrar 3 comentarios más antiguosOcultar 3 comentarios más antiguos
the cyclist el 17 de Feb. de 2016
It's because your last y value is NaN, which is causing the fitted coefficients to all be NaN, and therefore unplottable.
Put the lines
x(end) = [];
y(end) = [];
in your code before the first fit, and you will see results.
Jovos el 18 de Feb. de 2016
Very nice!

Iniciar sesión para comentar.

### Más respuestas (1)

Walter Roberson el 17 de Feb. de 2016
When you use "hold on" before you have done any plotting, your xlim and ylim are frozen at their default values, which are [0 1] and [0 1]. If your plotting goes outside that range then nothing will show up. You should delay the "hold on" until after the first plot is done.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Jovos el 17 de Feb. de 2016
I don't think that makes a change.

Iniciar sesión para comentar.

### Categorías

Más información sobre Scatter Plots en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!

Translated by