Hello everyone, anyone knows how to approximate a data with polynomial of degree 8 using least square method?
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
Walter Roberson
2021 年 6 月 25 日
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 件のコメント
David Hill
2021 年 6 月 25 日
編集済み: David Hill
2021 年 6 月 25 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Polynomials についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!