アプリ版:「スタンプのみでお礼する」機能のリリースについて

偏微分方程式の解の数値計算の仕方についての質問です。

例えば、偏微分方程式の解が以下のような形だったとします。

T(x,y)=Σ(A1n*x^n+A2n*x^(-n))*cos(ny)

nは変数分離定数です。A1n,A2nが積分定数です。またn=1~∞とします。

今、あるxにおけるTとyの数値計算をするとします。
つまりxを定数として扱います。

そして、上式を条件に代入して解を求めるのですが、

n=3の場合の結果が欲しい場合は、

n=1,2,3のとき連立方程式をそれぞれで解いて、

数値結果は、

(n=1の結果)+(n=2の結果)+(n=3の結果)

という考え方であってますか?

アドバイスをお願いします。

プログラムで数値計算をするのですがなかなかうまくいかずこまっています。

A 回答 (2件)

>n=1,2,3のとき連立方程式をそれぞれで解いて



イメージがわきません。T(x,y)が別途解っているのですか。

この回答への補足

説明不足で申し訳ございません。

例えば n=1 のとき A1nとA2n(A11,A21)が求まり、
n=2 のとき A12,A22 が求まります。

補足日時:2009/05/17 23:56
    • good
    • 0

(たぶん、前に質問されていた続きの問題のようですね。

もし、そうだとすれば、すこし、誤解があるようです。)

<<「偏微分方程式の解が以下のような形だったとします。
 T(x,y)=Σ(A1n*x^n+A2n*x^(-n))*cos(ny)   (*)」

このときの総和記号(シグマ)はnについて和をとるのでしょう?境界条件が、特定のx=x0に対してT(x,y)が与えられているならば、そのT(x,y)はつぎのようになります:
T(x0,y)=Σ(A1n*x0^n+A2n*x0^(-n))*cos(ny)

[以前のあなたの問題では T(x0,y)=cosy, となっていましたね。]
とにかく、T(x0,y)がyの関数として与えられているなら、

T(x0,y)=Σ(A1n*x0^n+A2n*x0^(-n))*cos(ny)
1次元のフーリエ級数ですから、cos(my)を両辺に掛けて、題意に合う範囲で積分すればフーリエ係数
(A1n*x0^n+A2n*x0^(-n))
がnを使った式であらわすことができます。A1n と A2n 求めるにはもうひとつの境界条件が必要です。(x=x1でT(x1,y)がyの関数としてあたえられていると、)その2つの条件から、A1n と A2n を求めることができます。
いったん、A1n と A2n とがnの関数として与えられていれば、(*)に代入して、nを1から無限大まで加えあわせれば、解は求まりますが、必要な精度まで計算機で求めることになります。

「n=1,2,3のとき連立方程式をそれぞれで解いて、」は必要ないと思います。

この回答への補足

丁寧に回答していただきありがとうございます。

前回の問題とは厳密に言えば違うのですが、今回も似たような感じです。

「n=1,2,3のとき連立方程式をそれぞれで解いて、」というのは、Akira_oji様がおっしゃった、A1nとA2nがの関数として与えられていれば・・・ と同様の処理をしています。 

連立方程式をそれぞれ解く→nに関するループを用いて、境界条件に代入しnの関数で表したもの(4元連立方程式)を掃き出し法で特という処理を行っています。

今回質問させていただいたのは、数値計算の結果で、x,yに関して単調に曲線的に減少していくような解が得られるはずなのですが、何故か減少したあとにまた増加し、軽く振動しているような解になったので、解の重ね合わせ自体が間違っていると疑ったからです。

Akira_oji様の文書ですと、各nにたいする解を全て加えるという結論で正しいとわかりました。

またお世話になることがあるかと思いますが、ありがとうございました。

補足日時:2009/05/19 00:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!