仮定による関数の最大化
Maximizing Function With Assumptions
解決:
最大化はかかりません
$ Assumptionsはデフォルトで考慮されますが、仮定を明示的に指定する必要があります。
[Abs [x]> = 3、Maximize [-x ^ 2、x]](* ==> {0、{x-> 0}} *)Maximize [{-x ^ 2、Abs [x]> = 3}、x](* ==> {-9、{x-> -3}} *)ただし、注入することはできます$仮定を明示的に:
仮定[Abs [x]> = 3、最大化[{-x ^ 2、$仮定}、x]](* ==> {-9、{x-> -3}} *)ただし、特定の例では、Maximizeはとにかく最大値を見つけることができないようです。
まず最初に:私は思いません最小化は囲みを利用します仮定します。ドキュメントに記載されている2つの例は、追加が含まれています。仮定なしですでにある程度の満足を与えている最小化結果に対して実行される、ステップを調整します。
ただし、関数の導関数の根を見つけ、さらに導関数の符号を調べることで、問題を言い換えることができます。ポイント$ x $が$ f '(x)= 0 $および$ f' '(x)のようなものである場合<0$, then it is a maximum of $f$.
あなたの場合、それはあまり役に立たず、Mathematicaも問題を解決できません:
[s> r && r> 1 && Pmax> n0 && n0> 0 &&ρ> 1 &&α> 2と仮定して、[f '[s] == 0、s]]を解きます。
変数の数を減らして、あなたとMathematicaの両方が関数を勉強しやすくすることで、それを回避することができます。 $ P = 2 pi rho P _ { text {max}} / n_0 $を選択しました:
g [s _]:= Evaluate [Simplify [f [s] /。 Pmax-> n0 * P /(2 *π*ρ)]]
Mathematicaはまだそれを解決できません:
[s> r && r> 1 && P> 2 Pi &&α> 2、Solve [g '[s] == 0、s]]と仮定します。Solve:: nsmet:このシステムは、Solveで使用可能な方法では解決できません。 >>おそらく2つの多くのケースが関係しているためですが、この単純化された式を使用すると、何が起こっているのかを理解するために、いくつかのケース(つまり、いくつかのパラメーターのセット)を手作業で調べることができます。