Saya mencoba memecahkan persamaan tipe:
Di mana memiliki kutub sederhana pada , untuk nilai eigen dan vektor eigen terkecil . Kondisi batas adalah: dan , dan saya hanya melihat fungsi di atas .
Namun, jika saya melakukan metode perbedaan hingga yang sangat sederhana dan merata, Nilai eigen terkecil sangat tidak akurat, (kadang-kadang ada nilai eigen "salah" yang beberapa urutan besarnya lebih negatif daripada yang saya tahu seharusnya ada di sana, sebenarnya "nilai eigen pertama" menjadi yang kedua, tetapi masih buruk).
Apa yang memengaruhi keakuratan skema perbedaan hingga? Saya berasumsi bahwa singularitas adalah apa yang menyebabkan masalah, dan bahwa grid dengan jarak yang tidak merata akan memperbaiki keadaan secara signifikan, adakah makalah yang dapat mengarahkan saya ke arah metode perbedaan terbatas yang tidak seragam dan baik? Tapi mungkin skema perbedaan urutan yang lebih tinggi akan lebih memperbaikinya? Bagaimana Anda memutuskan (atau hanya "coba keduanya dan lihat")
catatan: skema beda hingga saya adalah tridiagonal simetris di mana 3 diagonal adalah:
Di mana adalah spasi grid. Dan saya memecahkan matriks menggunakan pemecah simetris langsung (saya berasumsi bahwa keakuratan tidak terpengaruh secara drastis oleh pemecah, apakah saya salah?)
sumber
Jawaban:
Jika Anda ingin meningkatkan keakuratan skema beda hingga, Anda selalu dapat mencoba meningkatkan derajat stensil Anda. Namun, pada titik yang sama, hal ini dapat menyebabkan ketidakstabilan angka. Untuk menghindari masalah ini dan masih mendapatkan akurasi tinggi, saya akan menyarankan menggunakan Metode Spektral .
Jika masalah Anda memiliki kutub yang diperbaiki, Anda dapat mencoba mengatasinya dengan memisahkan domain Anda dan menyelesaikan dua masalah yang digabungkan.
chebgui
chebgui
Memperbarui
Jika Anda ingin menyelesaikan masalah ini tanpa masuk terlalu banyak ke Chebfun, semua detail harus ada di Bab 9 buku Nick Trefethen " Metode Spektral di Matlab ".
sumber
Salah satu cara untuk dengan cepat membuat segalanya lebih baik (meskipun kemungkinan tidak jauh lebih baik) adalah dengan mempertimbangkan kesamaan antara metode perbedaan hingga pesanan terendah yang Anda gunakan dan metode elemen hingga pesanan terendah. Jika Anda menghitung matriks tri-diagonal yang Anda dapatkan dari menggunakan fungsi bentuk elemen hingga linier dalam 1d, maka diskritisasi turunan kedua akan terlihat sama persis (hingga faktor tetapi Anda akan mendapatkan istilah berbeda untuk apa berasal dari . Saya tidak tahu bagaimana terlihat dalam kasus Anda, tetapi di mana sekarang Anda menggunakan , itu akan menjadi sesuatu seperti manaf ( x ) ψ ( x ) f ( x ) f ( x i ) ∫ x i + 1 x i - 1 f ( x ) φ i ( x ) φ i ( x ) i i ( x ) x i f ( x )Δx f(x)ψ(x) f(x) f(xi) ∫xi+1xi−1f(x)φi(x) φi(x) adalah fungsi topi yang mencapai puncak pada . Jika cukup sederhana, maka Anda dapat menghitung integral ini dengan tepat, dan itu akan memberikan matriks yang lebih akurat di mana Anda harus menemukan nilai eigen.xi f(x)
Tentu saja, jika Anda sudah melakukan elemen hingga, Anda mungkin juga berinvestasi dalam menggunakan elemen tingkat tinggi yang tidak terlalu sulit dalam 1d juga.
sumber