mathematicaで逆関数を求める方法と目標の求め方

このQ&Aのポイント
  • mathematicaで逆関数を求める方法や、目標であるy=1のときのxの値を求める方法について知りたいです。
  • また、f(x)が複雑な式であるため、solveを使っても解けない場合の解法も教えてください。
  • よろしくお願いします。
回答を見る
  • ベストアンサー

mathematica

mathematicaで以下のような計算をしたいと思っています。 目標:y=f(x)がありy=1のときのxの値が知りたい そこで自分は逆関数を求めてからその式に1を代入して求めようと考えたのですがmathematicaで逆関数を求めるのはどのようにすればよいのでしょうか? もうひとつの解法としてシンプルに1=f(x)を解こうと試みてsolveを使ったのですが自分が今使おうとしているf(x)は中に積分が入っていたりと複雑なせいか、solveでは解けないと返ってきました。 上記のどちらでも構わないのでmathematicaで目標を求めるにはどのようにすればいいのでしょうか。よろしくお願い致します。

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

  • ベストアンサー
  • kiyomushi
  • ベストアンサー率68% (13/19)
回答No.1

NSolve や FindRoot はいかがでしょうか。

alleniverson3
質問者

お礼

こんなにも早くに解答ありがとうございます。 NSolveとFindRootをやってみた結果 Nsolveは「この系はNSolveで利用できるメソッドでは解けません」 と返って来て FindRootは「100回以内の反復では要求された精度または確度に収束することができませんでした」 と返って来て出来ませんでした。

関連するQ&A

  • Mathematica で2元4次連立方程式を解くには・・・

    教えて下さい! 2元4次連立方程式{f(x,y)=0, g(x,y)=0} (関数fとgはxとyの4次方程式です。)について、 例えば、[x,-10,10]のような限定された範囲で 実数解(x,y)を Mathematicaを使って、30桁精度で数値的に求め、 それをx,yの2次元プロットしたいと思っております。 Mathematica のどのような関数を組み合わせれば これができるか、ご教示下さいませんでしょうか? よろしくお願いいたします。 (自分でC言語でプログラムした場合、解けるには解け るのですが、有効数字の桁数が十分でなく、部分的に 数値が丸まってしまい、プロットがとぎれてしまう問題 があったので、有効数字を自在に調節できるMathematica でやってみようと思ったのですが、例えば、安直に Plot[N[Solve[{f == 0, g == 0}], 30], {x, -10, 10, 0.01}] としてもダメでした。NRootなども検討しましたがうまく 行きません。)

  • Mathematicaのプログラム

    Mathematicaの以下のプログラムでエラーがでてしまうのですが どこが間違っているのか教えてほしいです f[x_]:=x g[x_,y_]:=Integrate[f[x+y],x] Plot3D[g[x,y],{x,-3,3},{y,-3,3},PlotPoints->200] やりたいことはf(x)=xとしてf(x+y)をxで不定積分しその結果を変数x,yの2変数関数g(x,y)としてPlot3Dで表示したいのですが

  • Mathematicaにおける関数定義と部分積分

    Mathematicaにおける関数定義と部分積分 u[t_,x_]:=u[t,x] のように定義し、 u[t,x]に0を代入した場合、 u[t,l]の計算結果が0になってほしいのですが、 u[t,l]となってしまいます。 /.u[t,x]->0 とした場合に、u[t,x]の項だけでなく、u[t,l]の項も0になってほしいのです。 どのようにすれば、所望の動作をさせることができますか? また、Integrate[f[x]*g[x],{x,0,l}]で部分積分を実行したいのですが、 Mathematicaはやってくれません。 関数形のまま扱い、任意の回数部分積分を実行したいのです。 やはり、自分で関数を作るしなかないのでしょうか? 何かヒントがあれば、教えていただければ幸いです。 よろしくお願いいたします。

  • Mathematica式の挿入について

    こんにちは、 下記のように、yを微分して得られる解をまたyに代入したいのですが y = (2/5)*(1 - x)*a^2 - (4/105)*(1 + 2*x)*a^3; y /. a -> Solve[D[y, a] == 0, a][[2]] と計算してもうまく計算できません。 どうしたら良いでしょうか? 要するに、下記にように Simplify[y /. a -> -((7*(-1 + x))/(1 + 2*x))] 計算して -((98*(-1 + x)^3)/(15*(1 + 2*x)^2)) を得たいのです。

  • mathematicaで重積分ができません。

    mathematicaで複雑な2重積分を計算しようとしたのですが、出力に積分式そのものが出てしまって、計算結果が出力されません。いったいどうしたらよいでしょうか?

  • Mathematicaがうまく使えません。

    Mathematicaがうまく使えません。 関数f(x)でxが1から10までのリストを作りたいのですがうまく命令できません。どのように打てばいいのでしょうか?

  • mathematicaでリストの格納

    mathematicaでTable関数で作成したリスト {{x1, y1, z1, f(x1,y1,z1)}, {x2, y2, z2, f(x2,y2,z2)}, ... , {xn, yn, zn, f(xn,yn,zn)}} 中のx1~xnまでの各成分とy1~ynまで(、z1~znまで、 f(x1,y1,z1)~f(xn, yn, zn)までの各成分)をそれぞれ配列に格納するにはどうすればいいのでしょうか?(C言語のようにループ文で配列に格納することはできないのでしょうか?) もしくは、行列中で列の成分を取り出すことはできますか? どなたか解法を示していただければ幸いです。

  • mathematicaの積分

    mathematicaの積分で Integrate[f[x],x]+Integrate[g[x],x] を Integrate[f[x]+g[x],x] にするにはどうすればいいでしょうか。 お願いします。 Simplifyでもやってくれません。

  • mathematica 2変数関数

    mathematicaで2変数関数f(x,y)を定義し、PLot3Dで表示したいのですが x=y=0の時のみf(x,y)=0 x=y=0以外はf(x,y)=g(x,y) (g(x,y)は全領域で予め定義されている) f[x_,y_]:=0;/x=y=0 f[x_,y_]:=g(x,y);/x=y!=0 Plot3D[f[x,y],・・・] とするとエラーがでてしまいますどうしたらいいでしょうか

  • Mathematicaでの微分方程式の解き方を教えてください。

    最近Mathematicaをはじめたのですが、ある微分方程式をMthematicaで解こうとしたとき、理解できない回答が出力されます。 f[x_] := Tan[x]/x; と定義して DSolve[{y'[x] == f[x], y[1] == 2}, y[x], x] のように解こうとすると、 {{y[x] -> 2 + ∫(Tan[K$196]/K$196)[DifferentialD]K$196}} ※∫の積分範囲は(1~x) のように出力されます。 ”K$”の意味を教えてください。よろしくお願いします。もしくは、この微分方程式は解くことができないのでしょうか?