Representasi polinomial sewenang-wenang dalam bentuk perbedaan hingga dengan langkah sewenang-wenang

Pendahuluan


Artikel ini mempertimbangkan kemungkinan mewakili polinomial arbitrer dari derajat integer sewenang-wenang dalam bentuk perbedaan hingga. Pendekatan dalam artikel ini berbeda dari yang ada di mana semua rumus diturunkan untuk polinomial arbitrer dengan koefisien arbitrer, serta dalam hal arbitrase daripada satuan satuan digunakan sebagai interval antar titik. Rumus yang diperoleh bersifat universal, dan dapat digunakan tanpa modifikasi baik untuk menghitung nilai "masa depan" dan "masa lalu" dari polinomial. Misalnya, untuk setiap kurva yang diekspresikan oleh persamaan kuadratik dengan koefisien arbitrer, dimungkinkan untuk menghitung semua nilai yang hanya memiliki 3 nilai y yang sebelumnya diketahui diambil dengan interval yang sama sewenang-wenang Ο†. Sebagai konsekuensinya, pernyataan tersebut diperkenalkan bahwa melalui (n + 1) titik dengan jarak yang sama satu dan hanya satu kurva yang diekspresikan oleh polinomial derajat n yang dapat digambar.

Penafian


Saya bukan ahli matematika, saya hanya seorang programmer dengan 20 tahun pengalaman. Saya melakukan penelitian independen, tetapi tidak menemukan kesimpulan yang sama yang saya buat dalam artikel ini. Saya akan berterima kasih atas komentar dan "tips" tentang perkembangan yang ada, yang kesimpulannya mirip (atau dekat) dengan saya.

Informasi umum


Pertama, saya memberikan rumus umum untuk menghitung fungsi S (t) yang ditentukan oleh polinomial derajat n dan dinyatakan dalam istilah (n + 1) nilai sebelumnya diambil dengan interval yang sama Ο†:

S(t)= sumk=1n+1(βˆ’1)kβˆ’1Cn+1kS(tβˆ’k varphi)


Misalnya, untuk polinomial derajat n = 1 (garis normal), rumus ini akan terlihat seperti:

S(t)=2S(tβˆ’ varphi)βˆ’S(tβˆ’2 varphi)


Untuk polinomial derajat n = 2, rumus ini akan memiliki bentuk:

S(t)=3S(tβˆ’ varphi)βˆ’3S(tβˆ’2 varphi)+S(tβˆ’3 varphi)


Dan sebagainya. Bukti matematis terperinci diberikan dalam dokumen ini . Saya juga menyiapkan kode verifikasi, dieksekusi dalam bentuk kode JavaScript. Anda bisa mendapatkannya di tautan ini . Dalam artikel yang sama saya akan menunjukkan beberapa kesimpulan dan opsi praktis untuk menggunakan persamaan yang diperoleh.

Konstruksi polinomial derajat 2


Untuk pemahaman umum, "polinomial derajat 2" diekspresikan menggunakan rumus berikut:

S(t)=Q2t2+Q1t+Q0


Namun, ternyata, Anda dapat menghitung semua nilai polinomial ini (pada kenyataannya, Anda hanya bisa menghitung nilai polinomial pada node dengan beberapa langkah sewenang-wenang Ο†) menggunakan persamaan "dalam perbedaan hingga":

S(t)=3S(tβˆ’ varphi)βˆ’3S(tβˆ’2 varphi)+S(tβˆ’3 varphi)


Yaitu, berdasarkan tiga nilai fungsi S (t) yang diambil dengan interval arbitrer yang sama Ο†, semua nilai polinom dapat diperoleh. Kami menunjukkan ini pada data nyata. Biarkan polinomial nyata diekspresikan oleh fungsi berikut:

R(t)=1t2+2t+3


Sekarang kita menghitung nilai fungsi R (t) pada titik t = 111, t = 115, dan t = 119. Yaitu, langkah Ο† dalam kasus ini adalah 4. Nilai yang diperoleh adalah R (111) = 12546, R (115) = 13458 dan R (119) = 14402. Sekarang kita menghitung dua nilai polinomial berikut menggunakan persamaan dengan perbedaan hingga:

R(123)=3R(119)βˆ’3R(115)+R(111)=15378


R(127)=3R(123)βˆ’3R(119)+R(115)=16386


Mudah untuk menghitung bahwa nilai-nilai yang dihitung menggunakan rumus dalam perbedaan hingga benar-benar bertepatan dengan nilai-nilai yang dihitung menggunakan rumus "standar" untuk polinomial tingkat kedua.

Juga, rumus dalam perbedaan hingga memungkinkan seseorang untuk menghitung nilai "mundur" tanpa mengubah rumus itu sendiri. Misalnya, untuk menghitung R (107) dan R (103) kita mendapatkan yang berikut:

R(107)=3R(111)βˆ’3R(115)+R(119)=11666


R(103)=3R(107)βˆ’3R(111)+R(115)=10818


Sekali lagi, mudah untuk menghitung bahwa nilai-nilai yang diperoleh dengan menggunakan rumus perbedaan hingga benar-benar bertepatan dengan nilai-nilai yang dihitung dengan menggunakan rumus "standar" untuk polinomial tingkat kedua.

Untuk semua derajat selanjutnya, hasilnya akan sama. Saya telah memverifikasi polinomial hingga tingkat ke-99: hasil yang diperoleh dengan menggunakan rumus "standar" sepenuhnya bertepatan dengan hasil yang diperoleh dengan menggunakan perbedaan hingga.

Selain itu


Saya juga ingin mencatat bahwa untuk membangun polinomial derajat n tidak perlu memiliki titik yang sama (n + 1) dengan jarak yang sama - Anda dapat secara sewenang-wenang lebih banyak (menyatakannya sebagai (m + 1)). Tetapi dalam kasus ini, Anda perlu menggunakan rumus untuk polinomial derajat m. Ini dapat diilustrasikan dengan contoh berikut:

Q2x2+Q1x+Q0=0x4+0x3+Q2x2+Q1x+Q0


Artinya, untuk polinomial derajat kedua, Anda bisa menggunakan rumus dari polinomial derajat keempat dan ketiga - hasilnya masih akan benar.

Kesimpulan


Rumus dalam perbedaan hingga memungkinkan seseorang untuk menghitung (dan menyatakan sebagai rumus) setiap polinomial fungsi dari setiap derajat bilangan bulat. Untuk persamaan dalam perbedaan hingga, tidak masalah koefisien mana yang digunakan untuk derajat polinomial mana. Untuk persamaan dalam perbedaan hingga, tidak masalah pada interval apa titik-titik awal diambil - intervalnya bisa kecil, atau besar sewenang-wenang. Perhitungan dalam perbedaan hingga memiliki potensi akurasi yang lebih tinggi dibandingkan dengan perhitungan menggunakan rumus "standar" (karena kurangnya fungsi daya). Fungsi untuk polinomial dalam perbedaan hingga diekspresikan tanpa fungsi daya dan, sebagai konsekuensinya, hanya dapat memiliki satu nilai untuk variabel yang diberikan. Dan, oleh karena itu, melalui (n + 1) titik-titik yang berjarak sama satu dan hanya satu kurva yang diekspresikan oleh polinomial derajat n yang dapat digambar.

Source: https://habr.com/ru/post/id446924/


All Articles