• ベストアンサー

Mathematicaで関数の最大値を求める

Mathematicaで複素数の関数S(t)があったとします。 このS(t)の絶対値の最大値が知りたい時、どのように入力すればよいでしょうか?

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

  • ベストアンサー
  • mach999
  • ベストアンサー率75% (36/48)
回答No.1

 S[t]は複素数関数ということですが、絶対値を取ってAbs[S[t]]とすれば結局は実数関数となるので、あとはこの実数関数を最大化すれば良いわけですね。  ところが、Mathematicaには関数の最大化を行う関数はありません。まあこの点については最小化を行うFindMinimum関数があるため、正負を反転させた関数-Abs[S[t]]の最小化を行えば目的を達成することはできます。  しかし、問題はFindMinimumで求められるのは局所的最小解であって、大域的最小解ではないということです(そもそも任意の関数の最小値を求める手法は未だ発見されていない)。これについては、幸い目的関数-Abs[S[t]]が1変数関数であるため、Plot関数で最小解がありそうな範囲の見当をつけてからFindMinimumで適切な初期値を与えてやれば、S[t]の絶対値の最大値を求めることができると思います。 Plot[-Abs[S[t]],{t,0,10}]←範囲は適当に変えて下さい FindMinimum[-Abs[S[t]],{t,t0}]←t0(局所的最適解を求めるための初期点)は適切なものを与えて下さい

abspectra
質問者

お礼

できました! ありがとうございました。

関連するQ&A

  • mathematicaの特殊関数productlogについて

    mathematicaに登場する特殊関数でproductlogのことで質問があります。 mathematicaの中でproductlogのことを「重積対数関数」と説明して合ったのですが,これを数学の専門書(複素関数論や関数論)で調べてみても載っていません。 mathematicaだけで使われている言葉なんでしょうか? できたら,productlogの計算法(z=w・e^wでwを求める方法)を知りたいのですが,わかる方教えてください。

  • Mathematica

    Mathematicaで、1からnまでの各値の和を求める関数をFor文を使って作成したいのですが、どう入力すればいいですか?

  • 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について

    Mathematicaについての質問です。 授業でMathematicaを使ったものやプログラミングなどの演習を行っているのですが Mathematicaの方の課題の一部がいまいちわからずに困っています。 添付画像は単一パルス波形の図です。 以下が設問になります。 (1)A=1,|B|=π/2で図のパルス波形を-4≦t≦4の範囲で示しなさい。 ただし単位ステップ関数[=u(t)]を用いること。 (2)A=1,|B|=π/4,π/2,πとして各フーリエ変換F(ω)を求め、各グラフ(0≦ω≦10の範囲)を表示しなさい。 (3)A=3,|B|=π/2,πの条件でフーリエ変換F(ω)を求め、各グラフ(0≦ω≦10の範囲)を表示しなさい。 当然のことながらMathematicaのサイトや資料等を参考にコードを打ち込んでいるのですが おそらく間違っているため表示されず困っています。 Mathematicaにお詳しい方、お手数ですがコードでご回答していただけると助かります。 もともとパソコン関係は得意ではないうえに もう3週間程手詰まり状態なのでお助けください。お願い致します。

  • mathematicaで…

    mathematicaを用いてn階導関数を求めるコマンドはあるのでしょうか?? 知ってはる方がいらっしゃったらお教えください(>_<)

  • mathematica

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

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

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

  • 3次関数の最大値

    3次関数の最大値 高校数学の問題で、微分の章に、 「関数f(x)=x^3-3x^2+4についてt≦x≦t+4における最大値h(t)を求めよ」 という問題があり、解答にはf(x)を微分した式で増減表とグラフが書かれており、 「f(t+4)-f(t)=12(t+1)^2+4>0,f(t+4)-f(0)=(t+4)^2(t+1)」 という記述の後、答えが書かれています。 解答の一つ目の式は常にf(t+4)の値がf(t)より大きいという意味だと思うのですが、 二つ目の式が何を意味しているのか分かりません。 どなたかできるだけ丁寧にお教えいただけないでしょうか。 よろしくお願い致します。

  • Mathematicaアニメキーボード入力との連動

    こんにちは。 今、学校でMathematicaを使った演習をしています。 その課題の中で、Mathematicaのアニメーション機能を使うものがあるのですが、 アニメーションをキーボード入力によって変化させたいと思っています。 (たとえば'A'を入力したらそれまで流していたものとは違うアニメーションを始めたいです) いろいろ調べてみたのですが、やり方がわかりません。 どんな関数を使えばいいか教えていただきたいです。よろしくお願いします。

  • CES関数は利潤(効用)最大化できますでしょうか?

    CES関数は費用最小化でしか解けないのかなと思っておりますが、時に利潤最大化でも使われています。 Π=pQ-wL-rK   s.t. Q=β[αL^-η+(1-α)K^-η]^(1/η) を宜しければお使いください。 勿論ご自身の例をお使いになっても構いません。 よろしくお願い申し上げます。

専門家に質問してみよう