特異線形ODEの固有システムを見つけるための有限差分法の精度をどのように改善しますか


11

私はタイプの方程式を解こうとしています:

(2x2f(x))ψ(x)=λψ(x)

ここで、f(x)は、最小のN個の固有値と固有ベクトルに対して、0に単純な極を持ちます。境界条件は以下のとおりですψ 0 = 0ψ R = 0、と私はオーバー機能で探しています0 R ]Nψ(0)=0ψ(R)=0(0,R]

ただし、非常に単純な等間隔の有限差分法を実行すると、最小の固有値は非常に不正確になります(「偽」の固有値が存在することがわかっているものよりも数桁大きい「最初の固有値」が2番目になりますが、まだ不十分です。

そのような有限差分スキームの精度に影響を与えるものは何ですか?特異点が問題の原因であり、不等間隔のグリッドが物事を大幅に改善すると思いますが、良い不均一な有限差分法に向けて私を指すことができる論文はありますか?しかし、おそらく高階差分スキームはそれをさらに改善するでしょうか?どのように決定しますか(または単に「両方試してみてください」)

注:私の有限差分スキームは、3つの対角線が次の対称三重対角です。

(12Δ2,1Δ2f(x),12Δ2)

ここで、はグリッド間隔です。そして、直接対称ソルバーを使用して行列を解いています(精度がソルバーによって大幅に影響を受けないと仮定していますが、間違っていますか?)Δ


あなたの有限の異なるステンシルの中期はすべきではありませんの代わりに?1Δ2f(x)
ウルフギャングバンガース

回答:


6

有限差分スキームの精度を上げたい場合は、ステンシルの次数を上げてみてください。ただし、等距離点では、これは数値の不安定性につながる可能性があります。これらの問題を回避し、なお高い精度を得るには、スペクトルメソッドの使用をお勧めします。

問題で極が固定されている場合は、ドメインを分割し、2つの連成問題を解決することで、極を回避することができます。

chebguif(x)

chebguiu(x)u(x)x=λu[1,1]

<code> chebgui </ code>を使用して、単純な2次微分方程式の固有値と固有モードを計算します。

更新

Chebfunを使いすぎずにこの問題を解決したい場合、すべての詳細はNick Trefethenの本「Matlabのスペクトル法」の第9章にあるはずです。


私は元の投稿を編集して、実際にポールを見ていないことを明確にしました。情報をありがとう、chebfunをチェックアウトする必要があります。
アンドリュースポット

3
コメントなしで投票しましたか?すべての利益のために、この答えをどのように改善できるかを指摘してください。
ペドロ

0

物事を迅速に改善する1つの方法(おそらくそれほど良くはありませが)は、使用する最低次の有限差分法と最低次の有限要素法の類似性を考慮することです。1dの線形有限要素形状関数を使用して得られる三重対角行列を計算すると、2次導関数の離散化はまったく同じに見えます(係数ですが、何のために異なる項を取得します外れ。私は方法がわからないあなたのケースでは見えますが、どこ今お使いの、それは代わりのようなものになりますここでF X ψ X F X 、F X IΔxf(x)ψ(x)f(x)f(xi)φIXXIFXxi1xi+1f(x)φi(x)φi(x)でピークとなる帽子関数です。場合十分に簡単です、あなたはまさにこの積分を計算することができ、そしてそれはあなたが固有値を見つけるために持っているのより正確なマトリックスを提供します。xif(x)

もちろん、すでに有限要素を実行している場合は、1dでもそれほど難しくない高次要素の使用に投資することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.