- 締切済み
数値計算の特異点回避
とある数値計算プログラムを書いてるんですが exp(ikx)/x の部分でx=0を代入してしまう特異点ができてしまいます。これを数値計算、近似計算で回避したいのですがプログラムに組み込みやすい手法があれば教えていただきたいです。(iは虚数、kは定数です)
- chmaster08
- お礼率0% (0/5)
- 数学・算数
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Broner
- ベストアンサー率23% (129/554)
あなたの問題に、合っているかどうか、解りませんが。 F(X) = Y = exp ( i k x ) / x 数値計算プログラムなら、Xの値は、初めの値と終わりの値があり、刻み値ある。 Xが、0 になるのが、初めの値から、何回目か計算する。 その時は、X=0 の時のYの値を入れる。 そうして、毎回 X=0 かどうか、判断するのを、省略する。
f(x)=exp(i*kx)/x とすると、 lim[x→0]|Re(f(x))|=∞、lim[x→0]Im(f(x))=k. ですから、x=0 のときにのみ、Im(f(0))=k を表示するようにしてはどうでしょうか。
関連するQ&A
- 周期的境界条件
本来は物理の範囲なのでしょうが、計算だけ分からないので、数学の分野で質問させていただきます。 f(x)=A exp(ikx)+ B exp(-ikx) f(x+L)=A exp(ik(x+L))+ B exp(-ik(x+L)) の時のkを求めたいのですが、(iは虚数,kはxによらない変数) A exp(ikL)+B exp(-ikL) = 0 までは分かるのですがその後の方法が分かりません。 いろいろ探したところ、 exp(ikL)=exp(-ikL)=1 となるので kL=2πn (nは0以上の整数) と、ありました。これも意味不明です。解説できる方お願いします。
- ベストアンサー
- 数学・算数
- 虚数「i」の無限大への極限
例えば、 0→∞の積分∫exp(-1-ai)dx (iは虚数単位)を考えると、 その計算途中で、 (-1+ai)/(i+a^2)*[exp{(-1-ai)x}](0→∞)となるところがあります。 ここで気になったのが、[ ]内のxに∞を代入したときです。 「前に「-」があるので、虚数は考えなくて良い(=0)」と言われたのですが、 何か納得がいきません。 考えなくても良いとは?? そもそも虚数の正負とは?? もちろん、[ ]内が(-1)になると、答えも合います。 このようなとき、「i」をどう見ればよいのでしょう。 虚数がどうしてもはっきりと分からないのです。 どなたか御教授願います。
- ベストアンサー
- 数学・算数
- 高校数学の計算(指数)
f{(1+exp(-πi(K+L))+exp(-πi(H+L))+exp(-πi(H+K))}=0 f:定数 π:円周率 H,K,L:いづれも整数 i:虚数 expX=e^X 上の式を満たすH,K,Lの条件はH,K,Lが偶数奇数混合の場合ということらしいのですが、なぜそうなるのか分かりません。 分かる方お願いします><
- ベストアンサー
- 数学・算数
- 偏微分方程式の数値計算について
偏微分方程式の解の数値計算の仕方についての質問です。 例えば、偏微分方程式の解が以下のような形だったとします。 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の結果) という考え方であってますか? アドバイスをお願いします。 プログラムで数値計算をするのですがなかなかうまくいかずこまっています。
- ベストアンサー
- 数学・算数
- フーリエ変換の指数の符号
先日うけた二つの授業でフーリエ変換のexpの肩の符号が違いました。逆変換はそれぞれ符号が変わります。 F(k)=∫f(x)exp(-ikx)dx F(k)=∫f(x)exp(ikx)dx これらの違いは何なのでしょうか。 kの取り方によって変わるということでしょうか。それとも本質的に何か裏があるのでしょうか。 計算時に楽だったりうまくいくほうを選ぶのかなと解釈しているのですが。
- ベストアンサー
- 物理学
- ∫[0,+∞] sin(kx)dxの値は?
以下の計算になると思いますが、、、 ∫[0,+∞] sin(kx)dx=∫[0,π/2k] sin(kx)dx+∫[π/2k,+∞] sin(kx)dx =∫[0,π/2k] sin(kx)dx + ∫[0,+∞] cos(kx)dx =1/k + ∫[0,+∞] cos(kx)dx ここで、∫[0,+∞] cos(kx)dx は、 ∫[0,∞] cos(kx)dx=(1/2)∫[0,∞]{exp(ikx)+exp(-ikx)}dx =(1/2)∫[0,∞] exp(ikx)dx+∫[(0,∞] exp(-ikx)dx =(1/2)∫[-∞.0] exp(-ikx)dx+∫[0,∞] exp(-ikx)dx =(1/2)∫[-∞.+∞] exp(-ikx)dx =δ(k)/2 です。 したがって、 ∫[0,+∞] sin(kx)dx=1/k + δ(k)/2 と思います。 しかし、 k=0では、 ∫[0,+∞] sin(kx)dx=∫[0,+∞] 0 dx=0 で、右辺は、δ(k)/2は怪しいですが、少なくとも、 1/k=∞ です。 正しい、積分方法を、お教え下さい。
- ベストアンサー
- 数学・算数