# Hello everyone, anyone knows how to approximate a data with polynomial of degree 8 using least square method?

1 view (last 30 days)
Mohammad Shafi Nikzada on 24 Jun 2021
Answered: Walter Roberson on 25 Jun 2021
Polynomial degree is 8 and it should be approximated piecewise.
• y = a0t0 + a1t1 + a2t2 + + antn ………………………….. (1)
Data description:
The first column is Time(GPS format) unit is seconds.
Second column is y values, so I have to find the coefficients (a0, a1...). And this should be done peicewise (9 points), then iterate this method till the end of the data.
Data is attached.
##### 5 CommentsShowHide 4 older comments
Matt J on 25 Jun 2021
Edited: Matt J on 25 Jun 2021
Your data looks very sinuisoidal. Are you sure you couldn't convince your assistant prof. just to fit a sinusoid?

Sign in to comment.

### Answers (2)

Walter Roberson on 25 Jun 2021
Loop, moving one point at a time. At each location use polyfit on 9 points to create coefficients. polyder() https://www.mathworks.com/help/matlab/ref/polyder.html and evaluate to get velocity. polyder() again and evaluate to get acceleration.
Then move one point further on.
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

David Hill on 25 Jun 2021
Edited: David Hill on 25 Jun 2021
Use polyfit, place the x and y columns of your data into the function.
p=polyfit(x,y,8);%you will need to convert time using datenum and likely normalize
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Categories

Find more on Spline Postprocessing in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!