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.

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).


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


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


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


+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


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.