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

Cをある定数とおいた時、E(φ,k)を第2種楕円積分として、

  E(φ,sqrt(1/2))=C

の時のφの値を求めるにはどうすればよいでしょうか?
E(φ,k)の逆関数がわかればいいのでしょうか・・。

色々調べても皆目見当がつかなかったので、どうかよろしくお願いいたします。

A 回答 (3件)

y=E(φ,1/√2)のグラフを描いておいて、y=Cとなるときのφを求めるだけで


いいかと思います。

数式処理ソフトのMapleだと
plot([EllipticE*(sin(t), 1/2^(-1/4)), t, t = 0 .. Pi/2],
x = 0 .. Pi/2, axes = normal, view = [0 .. Pi/2, 0 .. Pi/2], tickmarks = [5, 3], labels = [C, fai]);
で逆関数(単調増加)のグラフが描けます。
横軸のCの範囲は0~E(π/2|1/√2)≒1.2374225249,縦軸φの範囲は
0~π/2[rad]です。

この回答への補足

ご回答ありがとうございます。

補足日時:2007/12/29 01:28
    • good
    • 0
この回答へのお礼

現況はNo.2の方への返信の通りです。

info22様のご回答を見てふと考えたのですが、EXCELか何かで
ざーっ、と数値積分させて近似曲線の方程式を出せば良いのかも、
と思ったのですが正しいのでしょうか・・。

お礼日時:2007/12/29 01:27

【1】


Mathmatica でやるのでしたら,例えば C=0.5 の場合,

FindRoot[EllipticE[φ, 1/√2] == 0.5, {φ, {0, Pi/2}}]


φ -> 0.515759
と一発です(ラジアン単位).

Maple はよく知りませんが,FindRoot ではなくて fsolve というコマンドでしたっけ?

【2】
数式処理ソフトをお持ちでないなら
http://has10.casio.co.jp/
から,楕円積分 => 第2種不完全楕円積分 E(φ,k),とたどって
φ をいろいろ変えて try and error でしょうかね.
単調変化ですから,すこしやれば求められますね.
このサイトでは φ は度単位です.

【3】
他には,例えば
http://integrals.wolfram.com/
でも数値積分をやってくれますから,
【2】と同じようにやればOKです.
ここはラジアン単位でしょう.

他にも便利なサイトがあるかも知れませんが...
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

実はとあるプログラムの中で、任意のEに対するφを随時出力したい
(例えばy=sinφのサインカーブ上を+φの向きにS[m]進んだとき、その位置でのφの値を求めたい)
のですが、楕円積分関連のサブルーチンを探しても「ニューメリカルレシピ・イン・シー」程度しか見つからず、
またそれは与えられたφ、kからE(φ,k)を求めるものにすぎませんでした。
どうにかして第2種楕円積分を第1種楕円積分(またはその逆関数)を
用いて表すことが出来ればよさそうな気がするのですが・・。

何か他に良い方法は無いものでしょうか・・。

お礼日時:2007/12/29 01:23

siegmund です.



> 実はとあるプログラムの中で、任意のEに対するφを随時出力したい
> (例えばy=sinφのサインカーブ上を+φの向きにS[m]進んだとき、その位置でのφの値を求めたい)
> のですが、楕円積分関連のサブルーチンを探しても「ニューメリカルレシピ・イン・シー」程度しか見つからず、
> またそれは与えられたφ、kからE(φ,k)を求めるものにすぎませんでした。

与えられたφ,kからE(φ,k) を求めるサブルーチンをお持ちでしたら,
f(x) = C という方程式の数値解を求める手法(二分法や Newton 法)と組み合わせればいいのではないでしょうか.
Newton 法では f'(x) が必要ですが,今は f(x) が楕円積分になっていますから,
f'(x) は楕円積分の被積分関数そのものです.
    • good
    • 0

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