help-octave
[Top][All Lists]

## Re: need help with polyfit and polyval

 From: Dmitri A. Sergatskov Subject: Re: need help with polyfit and polyval Date: Mon, 6 May 2019 09:50:32 -0500

On Mon, May 6, 2019 at 9:31 AM Doug Stewart <address@hidden> wrote:
I am trying to convert some data from wikipedia to octave and I ran into this problem.

here is the code
**********************************************
data = ""   4.0000    3.1000
5.0000    4.7400
6.0000    6.1300
7.0000    7.2600
8.0000    8.1000
9.0000    8.1400
10.0000    8.7400
11.0000    8.7700
12.0000    9.1300
13.0000    9.1400
14.0000    9.2600  ];
x = data(:,1);
y = data(:,2);
[P, S, MU] = polyfit (x, y, 1)
y3=S.yf
y2=polyval(P,x)

plot(x,y,'x',x,y,x,y2,x,y3)

**********************************************

poly fit  should return the polynomial in P
But when i use it in polyval it is obviously wrong.
but polyfit also returns the new calculated y values in S.yf.
S.yf look correct ut P seems to be wrong.
I get
P =   1.8410   7.5009
which is      y=x*1.841 + 7.5009
and this is obviously wrong.

Yes. It looks like
[P, S, MU] = polyfit (x, y, 1) form has a problem.
if you just do p = polyfit (x, y, 1)
you get a correct p:
P=polyfit (x,y,1)
P =

0.55509   2.50509

octave:12> y2=polyval(P,x)
y2 =

4.7255
5.2805
5.8356
6.3907
6.9458
7.5009
8.0560
8.6111
9.1662
9.7213
10.2764

Dmitri.
--