построение полинома 8-й степени с интерполяцией и регрессией - PullRequest
0 голосов
/ 27 мая 2020

Я ищу интерполяцию для 2-й производной функции с заданным соотношением времени и ротации. Проблема в том, что когда я взял вторую производную подобранной функции, мое выходное ускорение составило около -5000. Я знал, что это теоретически возможно, и моя полиномиальная степень могла вызвать это.

Я просто хочу убедиться, что что-то не так.

Я прикреплю свой код и данные data.

%time data which is x
0
0,00300000000000000
0,00600000000000000
0,00900000000000000
0,0120000000000000
0,0140000000000000
0,0170000000000000
0,0190000000000000
0,0220000000000000
0,0240000000000000
0,0260000000000000
0,0290000000000000
0,0310000000000000
0,0340000000000000
0,0360000000000000
0,0390000000000000
0,0410000000000000
0,0440000000000000
0,0460000000000000
0,0480000000000000
0,0510000000000000
0,0540000000000000
0,0580000000000000
0,0620000000000000
0,0670000000000000
0,0720000000000000
0,0800000000000000
0,0860000000000000
0,0920000000000000
0,0970000000000000
0,102000000000000
0,108000000000000
0,112000000000000
0,117000000000000
0,124000000000000
0,129000000000000
0,134000000000000
0,140000000000000
0,145000000000000
0,151000000000000
0,156000000000000
0,164000000000000
0,171000000000000
0,179000000000000
0,191000000000000
0,201000000000000
0,213000000000000
0,224000000000000
0,235000000000000
0,245000000000000
0,250000000000000

%rot data which is y
0
0,810000000000000
1,24000000000000
1,31000000000000
1,43000000000000
1,48000000000000
1,43000000000000
1,50000000000000
1,41000000000000
1,11000000000000
1,02000000000000
1,03000000000000
1,22000000000000
1,36000000000000
1,34000000000000
1,27000000000000
1,14000000000000
1,11000000000000
1,26000000000000
1,41000000000000
1,15000000000000
1,15000000000000
1,32000000000000
1,59000000000000
2,09000000000000
2,38000000000000
3,54000000000000
4,63000000000000
6,19000000000000
7,03000000000000
7,89000000000000
9,12000000000000
10,0600000000000
11,6900000000000
13,1600000000000
14,0700000000000
15,1400000000000
15,7300000000000
15,9800000000000
16,3700000000000
16,4200000000000
16,7100000000000
16,8500000000000
16,8000000000000
16,1600000000000
15,7300000000000
15,4000000000000
15,1300000000000
14,8500000000000
14,5600000000000
14,2200000000000

directory = 'file\target'
directory = load(directory);
t = directory.time;
r = directory.rot;
degree = 8;
p=polyfit(t,r,degree);
%gives the coeff of the polynomial ordered in des. powers(mention in
%notes)
figure('Name','Section c) fitted data','NumberTitle','off')
plot(t,r,'o',t,polyval(p,t))
xlabel('time'),ylabel('rot'),legend('points','fitted part','Location','northwest','all')
p2 = polyder(polyder(p));
p2 = polyval(p2,t);
figure('Name','Section c) acceleration','NumberTitle','off')
plot(t,r,'o',t,polyval(p2,t))
xlabel('time'),ylabel('rot'),legend('points','fitted part','Location','northwest','all')




Wi sh Я мог бы знать лучший способ прикрепить свои данные, но вкратце он медленно увеличивается с диапазоном 50. Я довольно новичок в полиномиальной регрессии, поэтому я был бы рад, если кто-нибудь хочет отредактировать мой код или ответить мне.

...