• ベストアンサー

境界における差分公式

現在,微分方程式を数値解析にて解いております. 普通の差分公式については,検索して見つけることができたのですが,境界における二階微分を表す方法がわかりません. ∂f(j)/∂x=(1/2Δ)*f(-3f(j)+4f(j+1)-f(j+2) というような,1階微分での表し方は見つかりましたが,そもそもこれの導出もよくわかりません. どなたか,教えていただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8003/17108)
回答No.1

境界における二階微分をどういう式で使うのかわからないが,適当に作ってみた。 ∂^2f(j)/∂x^2=(1/Δ^2)*(2f(j)-5f(j+1)+4f(j+2)-f(j+3)) 考え方としては ∂f(j+1/2)/∂x=(1/Δ)*(-f(j)+f(j+1)) ∂f(j+3/2)/∂x=(1/Δ)*(-f(j+1)+f(j+2)) ∂f(j+5/2)/∂x=(1/Δ)*(-f(j+2)+f(j+3)) から ∂^2f(j+1)/∂x^2=(1/Δ)*(-∂f(j+1/2)/∂x+∂f(j+3/2)/∂x)=(1/Δ^2)*(f(j)-2f(j+1)+f(j+2)) ∂^2f(j+2)/∂x^2=(1/Δ)*(-∂f(j+3/2)/∂x+∂f(j+3/2)/∂x)=(1/Δ^2)*(f(j+1)-2f(j+2)+f(j+3)) を作って,これらの2:1の外分点として ∂^2f(j)/∂x^2=(2*∂^2f(j+1)/∂x^2-∂^2f(j+2)/∂x^2)/(2-1) を求めます。

ikm2015
質問者

お礼

詳しく書いていただいてありがとうございました。 おかげで卒業できそうです。 ありがとうございました。

その他の回答 (1)

noname#221368
noname#221368
回答No.2

 やり方は色々あると思いますが、自分は簡単に次のようにやってます。  境界の一歩手前の節点の2階差分は、境界上の点0,その点1,その隣の点2から求めてると思いますが、境界上の点0の2階差分は、同じ点トリオ(0,1,2)上での3つ値を通る2次曲線は一意に決まるので、2次曲線の2次の係数を使ってます。もっと良い方法はあるでしょうが、簡単なので。  たぶん定版の方法があるはずです。具体的にちょっと詳しい本で調べた方が良いと思います。

関連するQ&A

  • 数値解析の手法(差分法)について

    現在、とある2元の1階偏微分方程式(解はu,vでそれぞれ右と左に進行する波)を数値解析によって解こうと考えています。 数値解析の手段として、差分法がよく用いられると思いますが、 現在、私は、場所に関してはuは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って解いています。 ネットでは場所に関しては中心差分、時間に関してはルンゲ=クッタやリープフロッグなどが 使われていることが多く、私もこの2つを用いて解いてみました。 偏微分方程式には線形項が含まれていたため、 線形問題に対する制約であるΔt/Δx << 1は最低満たすように刻み幅をいろいろ取り、 計算時間も辞さず計算機を動かしてみましたが、 ノイズが消えず、解析解に限りなく近づくには至りませんでした。。 Δt/Δx=0.0001なども試したのですが・・・ そこで、諦めて違う差分法を試し、 場所に関して、uは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って見たところ、 Δt/Δx=0.01程度で解析解に近い、なかなか精度の良い数値解を得ることが出来ました。 2次の差分では上手くいかず、1次の差分だとわりかし上手くいく・・・ 精度的には中心差分やルンゲ=クッタなどの方がいいと思うのですが・・ 正直不思議でなりませんでした。。。 最初に試した差分法のコードミスかと思い、何回もコードを確認し直しましたが、 やはり解析解に近づくには至りませんでした。 こんなことってあるのでしょうか?? 差分法でも場合によって使い分ける必要があるということでしょうか・・? その場合分けするときの指標など、知っておられる方、教えて頂けると助かります。 問題によって

  • 2階差分の式の導出

    一階差分はf'(x)={f(x+Δx)-f(x)}/Δx 2階差分はf''(x)={f(x+2Δx)-2f(x+Δx)+f(x)}/Δx^2 この2階差分の式はどのようにして導出されたのでしょうか? よろしくお願いします。

  • 数値計算の差分の取り方について

    1回の偏微分∂f / ∂x→( f(i+1,j) - f(i,j) )/dx というような差分近似したとします。とにかく差をとって距離で割るということですね。これもいくつかバリエーションがありますが、だいたい同じ意味だと思います。 2回微分∂^2f / ∂x^2 → ( f(i+1,j) + f(i-1) -2*f(i,j) ) / dx^2 となります。1回微分のさらにもう1回微分ということでこれも分かりやすいです。y方向の微分は同じです。 では、∂^2 f / ∂x∂y はどうやって差分をとるものでしょうか。言葉で説明すると、x方向の差分をy方向の違う点で2つとってそれのy方向で差分をとればいいという考え方がありますが、y方向の微分をx方向の違う点で2つとってそのx方向の差分をとるということもできると思います。考え方が2つあるわけですが、どちらかを採用するとx,y方向に不平等が生じてしまいます。なのでこの方法はダメなのではないかと思いますが。有限要素法みたいに内挿関数を使ってそれを使ってやるということもあるのかなと思いますが。一応差分でやると決めたことは決めたわけですが。よろしくお願いします。

  • 差分法とオイラー法の違いについて

    最近微分方程式の数値解析について学びだした者です。 微分方程式の数値解法として差分法とオイラー法があると思うのですが、この2つの違いや互いの位置づけはどうなっているのでしょうか? また、差分法には風上法などがありますが、これらとオイラー法の位置づけについても教えていただきたいです。 できればこれら近辺の全体的な体系について教えていただけるとうれしいです。よろしくお願いします。

  • 数値解析 微分方程式

    数値解析における常微分方程式を解くために用いる手法についてです。 オイラー公式、ホルン公式、ルンゲクッタ、ルンゲクッタ4次、有限差分法の関係 違いがよくわからなのでどなたか教えてください また常微分方程式を有限差分で解くとなったとき、結局オイラー公式などを使うと言う認識で間違いないでしょうか?それとも有限差分だけで解けるのでしょうか

  • 移流方程式の差分解法について。

    移流方程式の差分解法について。 等間隔格子での片側差分です。 3点差分方程式の導出過程を教えて頂きたいです。 文献:乱流の数値シミュレーション p.28

  • 微分方程式についての質問です。

    微分方程式についての質問です。 問題となる方程式は (x+1)y" - (x+2)y' = 0 です。 よろしくお願いします。 また、定数係数でない2階微分方程式を、 公式を使わずに導出するコツなどがありましたら、 是非教えてください。

  • 差分法

    過去にも同様な質問があったようですが、それでも理解できないのでご教授お願いします。 拡散方程式などで 境界条件が:∂u/∂x=0 となる場合、 前進差分で表すと:(u[n][j+1]-u[n][j])/δx=0 後退差分で表すと:(u[n][j]-u[n][j-1])/δx=0 中心差分で表すと:(u[n][j+1]-u[n][j-1])/2*δx=0 となります。(n,jは時間、位置の格子点) それぞれ整頓すると、j=0(左の境界点)では 前進差分:u[n][1]=u[n][0] 後退差分:u[n][0]=u[n][-1] 中心差分:u[n][1]=u[n][-1] となるのですがぁ、 本などではよく中心差分を使っているのですがこの理由がよく分かりません。 上の3つの式から:u[n][-1]=u[n][0]=u[n][1]としてしまってもよいのでしょうか? 以上2点と何かアドバイスお願いします。

  • 偏微分方程式の境界条件

    一階偏微分方程式の解析解をスペクトル法によって求めています. ここで境界条件がt=0でx=x0、t=Tでx=xTという2つの境界条件を満たすような解を求めたいとします。 ある特定のx0、xTの値に対しては解を求めることができたのですが、 このx0やxTごとに解を求めるのは大変なのでx0とxTをパラメータとする解が求めたいのですがそのようなことは可能でしょうか?

  • 非線形偏微分方程式の数値解法(差分法)について

    非線形偏微分方程式(具体的にはKdV方程式)を数値的に解こうとしていますが、 式の立て方が分かりません。 漸化式のように次々と値を求めていけば良いのは分かるのですが、 Web上にある差分法の解説はどれも移流方程式のような、1階の微分方程式を例に上げたものあばかりで、KdV方程式のように3階微分が入った場合、どのようにそれを応用すれば良いのでしょうか。 例えば、Lax-Wendroff scheme( http://en.wikipedia.org/wiki/Lax–Wendroff_method ) を用いてKdV方程式を解く場合、どのような式で計算すれば良いのでしょうか。 ご存知の方がいらっしゃれば教えてください。