Contoh fungsi kontinu yang sulit diperkirakan dengan polinomial

16

Untuk tujuan pengajaran, saya membutuhkan fungsi kontinu dari satu variabel yang "sulit" untuk diperkirakan dengan polinomial, yaitu seseorang akan membutuhkan kekuatan yang sangat tinggi dalam rangkaian daya untuk "menyesuaikan" fungsi ini dengan baik. Saya bermaksud menunjukkan kepada siswa saya "batas" dari apa yang dapat dicapai dengan seri daya.

Saya berpikir tentang meramu sesuatu yang "berisik", tetapi alih-alih menggulirkan sendiri, saya hanya bertanya-tanya apakah ada semacam "fungsi sulit" standar yang digunakan orang untuk menguji algoritme aproksimasi / interpolasi, agak mirip dengan fungsi uji pengoptimalan yang memiliki banyak minimum lokal di mana algoritma naif terjebak dengan mudah.

Mohon maaf jika pertanyaan ini tidak disusun dengan baik; tolong kasihanilah pada non-ahli matematika.

Laryx Decidua
sumber

Jawaban:

14

Mengapa tidak sekadar menunjukkan fungsi nilai absolut?

Perkiraan dengan misalnya ekspansi Legendre-polinomial bekerja, tetapi sangat buruk :

Perkiraan sekuensial dari fungsi nilai absolut oleh polinomial

Ekspansi Taylor tentu saja sama sekali tidak berguna di sini, selalu hanya memberikan fungsi linier, baik selalu menurun atau selalu meningkat (tergantung pada apakah titik yang Anda kembangkan adalah negatif atau positif).

leftaroundabout
sumber
Anda dapat menginterpolasi | x | menggunakan interpolasi Chebyshev, lihat nbviewer.jupyter.org/github/cpraveen/na/blob/master/… yang konvergennya cukup cepat. Misalnya, Anda dapat mengubah N = 2 * i dalam kode menjadi N = 15 + i dan menguji derajat yang lebih besar. Ini bukan metode ekspansi tetapi masih berdasarkan polinomial.
cpraveen
@PraveenChandrashekar Chebyshev bekerja “lebih baik” karena memberikan bobot lebih pada bagian luar interval, di mana fungsinya halus. Sehingga osilasi yang berlebihan dihindari, tetapi mengatakan itu mendekati fungsi yang lebih baik adalah meragukan - itu tidak di capture khususnya belokan tajam di bahkan lebih buruk dari seragam-diskrit-poin atau L 2 -minimisation. Jika tujuan Anda menghindari komponen frekuensi tinggi, lebih baik gunakan transformasi integral yang benar meredam komponen ini. x=0L2
leftaroundabout
Tidak masalah untuk memiliki poin yang tidak seragam seperti pada interpolasi Chebyshev. Dengan derajat sekitar 20, ia memberikan perkiraan yang jauh lebih akurat daripada Legendre yang Anda tunjukkan di pos Anda. Ukur kesalahan agar lebih kuantitatif. Anda juga dapat melakukan aproksimasi seri Chebyshev dari | x | yang lebih akurat daripada ekspansi Legendre.
cpraveen
@PraveenChandrashekar intinya adalah bahwa polinomial pada prinsipnya tidak dapat memperkirakan fungsi seperti tepat. Ada beberapa metode yang masing-masing gagal sedikit lebih atau kurang spektakuler, tetapi tidak ada yang bekerja dengan baik dalam arti "hanya beberapa istilah memberikan sesuatu yang bisa disalahartikan sebagai fungsi asli". Jika Anda harus menggunakan polinomial, Anda harus mempertimbangkan jenis kesalahan mana yang lebih bermasalah, Legendre dan Chebyshev keduanya memiliki kasus penggunaannya tetapi tidak ada peluru perak. Pada akhirnya, pendekatan dengan spline misalnya biasanya lebih efektif. x|x|
leftaroundabout
Kami tahu tidak ada metode yang sempurna. Pertanyaannya adalah fungsi apa yang sulit diperkirakan oleh polinomial. Jadi kita harus melihat semua metode yang mungkin melibatkan polinomial untuk menyimpulkan tidak satupun dari mereka melakukan pekerjaan dengan baik. The Legendre bukan cara terbaik untuk memperkirakan | x | dan karenanya memberikan kesan yang agak keliru bahwa polinomial terlalu buruk untuk | x |. Dengan Chebyshev Anda memiliki konvergensi dan perkiraan yang jauh lebih baik daripada Legendre, mereka tidak terombang-ambing begitu buruk seperti Legendre, meskipun konvergen perlahan di dekat x = 0, di mana fungsi tidak cukup lancar.
cpraveen
10

|x|

Wolfgang Bangerth
sumber
Terima kasih, inilah yang saya maksud dengan "Saya memikirkan sesuatu yang 'berisik'". Contoh IMO yang sangat bagus.
Laryx Decidua
6

Perkiraan tidak hanya diperberat oleh fungsi yang akan didekati tetapi oleh interval di mana perkiraan harus menjadi "cocok". Dan Anda harus menentukan ukuran untuk "kecocokan baik", yaitu apa kesalahan maksimum (absolut atau relatif) yang ingin Anda toleransi?

exp(x)[0,10]sin(x)[0,2π]masukkan deskripsi gambar di sinimasukkan deskripsi gambar di sini

GertVdE
sumber
Saya menunjukkan contoh seperti itu dalam kursus saya untuk menunjukkan bahwa ekspansi Taylor bukan metode yang baik untuk memperkirakan fungsi.
cpraveen
6

Polinomial sangat efektif pada perkiraan fungsi [1]. Jika Anda memiliki setidaknya kontinuitas Lipschitz, maka perkiraan Chebyshev akan bertemu. Tentu saja, konvergensi mungkin lambat, dan itu adalah harga yang kami bayar untuk berurusan dengan fungsi yang tidak mulus.

Saat ini, komputer jauh lebih cepat daripada hari-hari di mana banyak buku analisis numerik ditulis, dan algoritma pintar telah meningkatkan kecepatan lebih jauh, sehingga harus menggunakan lebih banyak istilah mungkin tidak seburuk dulu.

Contoh-contoh patologis seperti fungsi monster Weierstrass menarik dari sudut pandang teoretis, tetapi mereka tidak mewakili sebagian besar konteks aplikasi nyata.

|x|x=0

Penting untuk mengajarkan kesulitan dalam perkiraan dengan polinomial, tetapi juga penting untuk memberi tahu siswa bahwa kita dapat membuat estimasi kesalahan dan algoritma adaptif yang dapat menangani masalah ini.

[1] https://people.maths.ox.ac.uk/trefethen/mythspaper.pdf

[2] http://www.chebfun.org

cpraveen
sumber
+1 untuk mengaitkan "kertas mitos" oleh Lloyd Trefethen, survei yang sangat bagus tentang topik IMO, terima kasih.
Laryx Decidua
2

f(x)=1x2+1 memiliki serangkaian ekspansi Maclaurin ini:

1x2+1=1-x2+x4-x6+x8-x10+x12-...

-1<x<1x=0x=2

Christopher Wells
sumber
0

y=ssayan(x)

Aniruddha Acharya
sumber
Atau bahkan y=dosa(1x)jika Anda ingin menjadi liar di sekitar asal.
sfmiller940