Cara yang saya sukai untuk memperkirakan turunan adalah perbedaan utama, ini lebih akurat daripada perbedaan maju atau perbedaan mundur, dan saya terlalu malas untuk naik ke tingkat yang lebih tinggi. Tetapi perbedaan pusat membutuhkan titik data di kedua sisi titik yang Anda evaluasi. Biasanya ini berarti Anda akhirnya tidak memiliki turunan di kedua titik akhir. Untuk mengatasinya, saya ingin Anda beralih ke perbedaan maju dan mundur di tepi:
Secara khusus, saya ingin Anda menggunakan perbedaan maju untuk poin pertama, perbedaan mundur untuk poin terakhir, dan perbedaan pusat untuk semua poin di tengah. Juga, Anda dapat mengasumsikan nilai x berjarak secara merata, dan fokus hanya pada y. Gunakan formula ini:
Semoga beruntung, saya tak sabar untuk melihat apakah seseorang datang dengan aturan sederhana yang mereproduksi ketiga turunannya di tempat yang tepat!
INPUT EX:
0.034 9.62 8.885 3.477 2.38
Saya akan menggunakan FD, CD, dan BD untuk menunjukkan algoritma yang digunakan di tempat mana, jadi di atas 5 poin digunakan untuk memperkirakan turunan menggunakan
FD CD CD CD BD
Dan kemudian nilai yang dihitung adalah:
9.586 4.4255 -3.0715 -3.2525 -1.097
Anda dapat mengasumsikan bahwa akan selalu ada setidaknya 3 titik input, dan Anda dapat menghitung menggunakan presisi tunggal atau ganda.
Dan seperti biasa, jawaban terpendek menang.
[a,b,c,d,e] -> [b-a,(c-a)/2,(d-b)/2,(e-c)/2,e-d]. Bisakah ada lebih sedikit dari 3 titik input?
