• ベストアンサー

Mathematicaに関する質問

私は最近Mathematicaを使い始めました。一人で勉強するのに結構大変です。 さて、質問です。 f[x_] := Exp[-(0.713(x + 0.380) + Sin[2π( x - 0.184)])] の式を定義し場合、f[2]すると、答えは0.457628が出ます。 しかし、逆にf[x_]=0.457628にした場合、x値が2になるような計算をしたい場合はどうすればいいんですか? よろしくお願いいたします。

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

  • ベストアンサー
回答No.2

No.1の補足に対する回答。 逆関数のことですね。 これは標準ライブラリに収録されているもの以外は独自に計算する必要があります。 f(x)の逆関数をf*(x)とするとき、次の等式が成り立ちます。 f(a)=bであるとき、 (f*)’(b) = 1/f’(a) この微分方程式を解けばx=f*(y)の式が求まるはずですが、解けるか解けないかはわかりません。 【追記】 数学カテゴリー方面に、逆関数の計算に詳しい方がいらっしゃると思うので、そちらで解けるかどうか評価してもらうといいでしょう。 なおこのカテゴリーで質問したけれども解決できなかった旨を上手に伝えないと、回答してもらえないと思います。ウルサイ人が多いですから…。

yoo7660
質問者

お礼

ご返事どうも有難うございました。 よくわかりました。 私が質問した式については、FindRoot関数を使って解決しました。

その他の回答 (1)

回答No.1

0.457628 = Exp[-(0.713(x + 0.380) + Sin[2π( x - 0.184)])] の方程式をxについて解けばいいのですが、一般には無理でしょう。

yoo7660
質問者

補足

どうも有難うございます。 InverseFunctionという機能ではできないんでしょうか?

関連するQ&A