FunctionMonotonicity[f,x]
実数上の変数 x を持つ関数 f の単調性を求める.
FunctionMonotonicity[f,x,dom]
x が領域 dom に制限されるときの f の単調性を求める.
FunctionMonotonicity[{f,cons},x,dom]
x が制約条件 cons によって制限されるときの f の単調性を与える.
FunctionMonotonicity
FunctionMonotonicity[f,x]
実数上の変数 x を持つ関数 f の単調性を求める.
FunctionMonotonicity[f,x,dom]
x が領域 dom に制限されるときの f の単調性を求める.
FunctionMonotonicity[{f,cons},x,dom]
x が制約条件 cons によって制限されるときの f の単調性を与える.
詳細とオプション
- 単調性は,増加,減少,非減少,非増加,狭義増加,狭義減少としても知られている.
- デフォルトで,次の定義が使われる.
-

+1 非減少,つまりすべての
について 

0 定数,つまりすべての
について 

-1 非増加,つまりすべての
について

Indeterminate 非減少でも非増加でもない - 定数関数は非減少かつ非増加である.
- StrictInequalitiesTrueと設定すると,次の定義が使われる.
-

+1 増加,つまりすべての
について 

-1 減少,つまりすべての
について 

Indeterminate 増加でも減少でもない - dom の可能な値には,Reals,Integers,PositiveReals,PositiveIntegers等がある.デフォルトはRealsである.
- 関数 f は,制約条件 cons を満たす領域 dom 内のすべての x について実数値でなければならない.
- cons は,等式,不等式,それらの論理結合を含むことができる.
- 次は,使用可能なオプションである.
-
Assumptions $Assumptions パラメータについての仮定 GenerateConditions True パラメータについての条件を生成するかどうか PerformanceGoal $PerformanceGoal 速度または品質を優先するかどうか StrictInequalities True 狭義単調性を要求するかどうか - 次は,GenerateConditionsの使用可能な設定である.
-
Automatic 一般的ではない条件のみ True すべての条件 False 条件なし None 条件が必要な場合は未評価で返す - PerformanceGoalの使用可能な設定は"Speed"と"Quality"である.
例題
すべて開く すべて閉じる例 (3)
スコープ (5)
FunctionMonotonicity[Sin[x], x]FunctionMonotonicity[2 ^ x, x]FunctionMonotonicity[Sqrt[x ^ 2] - x, x]Plot[{Sin[x], 2 ^ x, Sqrt[x ^ 2] - x}, {x, -3, 3}]実数値ではない関数はIndeterminate単調性を有する:
FunctionMonotonicity[Log[x], x]FunctionMonotonicity[{Log[x], x > 0}, x]FunctionMonotonicity[{Sin[x], -Pi / 2 ≤ x ≤ Pi / 2}, x]FunctionMonotonicity[{Sqrt[x ^ 2] - x, x ≥ 0}, x]FunctionMonotonicity[Floor[x], x, StrictInequalities -> True]FunctionMonotonicity[Floor[x] + x, x, StrictInequalities -> True]Plot[{Floor[x], Floor[x] + x}, {x, -10, 10}]FunctionMonotonicity[x ^ 3 + a x + b, x]オプション (5)
Assumptions (1)
FunctionMonotonicityはここで条件付きの答を与える:
FunctionMonotonicity[a x + 1, x]FunctionMonotonicity[a x + 1, x, Assumptions -> a < 0]GenerateConditions (2)
デフォルトで,FunctionMonotonicityは記号パラメータについての条件を生成することがある:
FunctionMonotonicity[E ^ (a x), x]GenerateConditionsNoneのとき,FunctionMonotonicityは条件付きの答を返さず失敗する:
FunctionMonotonicity[E ^ (a x), x, GenerateConditions -> None]FunctionMonotonicity[E ^ (a x), x, GenerateConditions -> False]FunctionMonotonicity[x / a ^ 2, x]GenerateConditionsAutomaticとすると,一般に真である条件は報告されない:
FunctionMonotonicity[x / a ^ 2, x, GenerateConditions -> Automatic]PerformanceGoal (1)
PerformanceGoalを使って潜在的に高価な計算を避ける:
FunctionMonotonicity[a x ^ 5 + b x ^ 3 + c x ^ 2 + d x, x, PerformanceGoal -> "Speed"]デフォルト設定は使用可能なすべてのテクニックを使って結果を出そうとする:
FunctionMonotonicity[a x ^ 5 + b x ^ 3 + c x ^ 2 + d x, x]StrictInequalities (1)
デフォルトで,FunctionMonotonicityは非狭義単調性を計算する:
FunctionMonotonicity[#, x]& /@ {Ramp[x] + 1, Ramp[x] + x}StrictInequalitiesTrueとすると,FunctionMonotonicityは狭義単調性を計算するようになる:
FunctionMonotonicity[#, x, StrictInequalities -> True]& /@ {Ramp[x] + 1, Ramp[x] + x}Ramp[x]+1は非減少だが狭義増加ではない.Ramp[x]+x は狭義増加である:
Plot[{Ramp[x] + 1, Ramp[x] + x}, {x, -2, 2}]アプリケーション (19)
基本的な例 (5)
Table[FunctionMonotonicity[f, x, PositiveReals], {f, {x^1 / 3, Sqrt[x], x, x^2, x^3}}]Plot[{x^1 / 3, Sqrt[x], x, x^2, x^3}, {x, 0, 2}, Rule[...]]FunctionMonotonicity[x^α, x, PositiveReals, Assumptions -> α > 0]FunctionMonotonicity[x^α, x, PositiveReals, Assumptions -> α > 0, StrictInequalities -> True]Table[FunctionMonotonicity[f, x, PositiveReals], {f, {(1/x^1 / 3), (1/Sqrt[x]), (1/x), (1/x^2), (1/x^3)}}]Plot[{(1/x^1 / 3), (1/Sqrt[x]), (1/x), (1/x^2), (1/x^3)}, {x, 0, 2}, PlotLegends -> "Expressions"]FunctionMonotonicity[x^α, x, PositiveReals, Assumptions -> α < 0, StrictInequalities -> True]{FunctionMonotonicity[a^x, x, Assumptions -> a > 1], FunctionMonotonicity[a^x, x, Assumptions -> 0 < a < 1]}Plot[{0.5^x, 1.5^x}, {x, -3, 3}]FunctionMonotonicity[Sin[x], x]Plot[Sin[x], {x, -3Pi, 3Pi}]FunctionMonotonicity[{Sin[x], -Pi / 2 ≤ x ≤ Pi / 2}, x]Plot[Sin[x], {x, -Pi / 2, Pi / 2}]FunctionMonotonicity[Ceiling[x], x]FunctionMonotonicity[Ceiling[x], x, StrictInequalities -> True]Plot[Ceiling[x], {x, -5, 5}]組合せの例 (5)
{f, g} = {Cos[x] - x, 5Erfc[x / 5]};{FunctionMonotonicity[f, x], FunctionMonotonicity[g, x]}FunctionMonotonicity[f + g, x]Plot[{f, g, f + g}, {x, -10, 10}, Rule[...]]{f, g} = {Floor[E ^ x], Erf[x] + 1};{FunctionMonotonicity[f, x], FunctionMonotonicity[g, x]}FunctionMonotonicity[f g, x]Plot[{f, g, f g}, {x, -2, 2}, ...]{f, g} = {Function[x, Sinh[x / 3]], Function[x, x + Sin[x]]};{FunctionMonotonicity[f[x], x], FunctionMonotonicity[g[x], x]}{FunctionMonotonicity[f[g[x]], x], FunctionMonotonicity[g[f[x]], x]}Plot[{f[g[x]], g[f[x]]}, {x, -10, 10}, PlotLegends -> "Expressions"]f = Function[x, ConditionalExpression[x ^ 3 - x ^ 2 + x, Element[x, Reals]]]FunctionMonotonicity[f[x], x]g = InverseFunction[f]FunctionMonotonicity[g[x], x]Plot[{f[x], g[x]}, {x, -2, 2}, Rule[...]]f[x_] := Gamma[x] + Log[x ^ 2]FunctionMonotonicity[{f[x], 1 ≤ x ≤ 5}, x]{f[1], f[5]}比較のためにFunctionRangeを使って値域を計算する:
FunctionRange[{f[x], 1 ≤ x ≤ 5}, x, y]Plot[{f[x], f[1], f[5]}, {x, 1, 5}]微積分 (4)
f = ArcTan[x] + Sin[x] / (2x ^ 2);Plot[f, {x, 1 / 2, 30}, PlotRange -> All]FunctionMonotonicity[{f, x ≥ 2}, x]FunctionSign[{2 - f, x ≥ 2}, x]Limit[f, x -> Infinity]MaxValue[{f, x ≥ 2}, x]f = 2 ^ -n - 3 ^ -n;Plot[f, {n, 1, 10}]FunctionSign[{f, n ≥ 1}, n]s = Sum[f, {n, 1, k}]FunctionMonotonicity[{s, k ≥ 1}, k]FunctionSign[{1 - s, k ≥ 1}, k]Sumを使って級数の総和を計算する:
Sum[f, {n, 1, Infinity}]f = t ^ 2 Sin[5t] ^ 4;FunctionSign[f, t]Plot[f, {t, -5, 5}]g = Integrate[f, {t, 0, x}]FunctionMonotonicity[g, x]Plot[g, {x, -5, 5}]f = x ^ 4 - 2x ^ 3 + x;finc = Integrate[Max[D[f, x], 0] + 1, x]//Togetherfdec = Integrate[Min[D[f, x], 0] - 1, x]//Togetherf - (finc + fdec)//SimplifyFunctionMonotonicity[finc, x]FunctionMonotonicity[fdec, x]Plot[{f, finc, fdec}, {x, -1, 2}]確率 (3)
CDFは常に非減少である:
cdf = CDF[NormalDistribution[], x]FunctionMonotonicity[cdf, x]Plot[cdf, {x, -5, 5}]SurvivalFunctionは常に非増加である:
sf = SurvivalFunction[NormalDistribution[], x]FunctionMonotonicity[sf, x]Plot[sf, {x, -5, 5}]Quantileは
において常に非減少である:
qf = Quantile[NormalDistribution[], x]FunctionMonotonicity[{qf, 0 < x < 1}, x]Plot[qf, {x, 0, 1}]方程式の求解と最適化 (2)
が
および
において増加かつ連続なら
は
に厳密に1つの根を持つ:
f[x_] := RiemannR[x ^ 2 + 1] - 2FunctionMonotonicity[{f[x], 0 ≤ x ≤ 3}, x, StrictInequalities -> True, "Continuity" -> True]Solveを使って根を求める:
Solve[RiemannR[x ^ 2 + 1] - 2 == 0 && 0 ≤ x ≤ 3, x]Plot[f[x], {x, 0, 3}, Epilog -> {Red, Point[{x /. %[[1]], 0}]}]f[t_] := Erf[t]
g[x_, y_] := x ^ 3 - 5x y + y ^ 3
constraints = x ^ 2 + y ^ 2 ≤ 1;FunctionMonotonicity[f[t], t]{mval, mpoint} = Maximize[{g[x, y], constraints}, {x, y}]//RootReduce{f[mval], mpoint}Maximize[{f[g[x, y]], constraints}, {x, y}]//RootReduceShow[{Plot3D[{f[g[x, y]], f[mval]}, {x, -1, 1}, {y, -1, 1}, ...], Graphics3D[{Red, PointSize[Large], Point[{x, y, f[mval]} /. mpoint]}]}]特性と関係 (2)
f[x_] := ArcTan[x]
g[x_] := 2 ^ xFunctionMonotonicity[#, x]& /@ {f[x], g[x], f[x] + g[x], f[g[x]], g[f[x]]}Plot[{f[x], g[x], f[x] + g[x], f[g[x]], g[f[x]]}, {x, -2, 2}]f = x ^ 3 - x ^ 2Cos[x] + x Sin[x]FunctionMonotonicity[f, x]Dを使って導関数を計算する:
g = D[f, x]FunctionSignを使って導関数が非負であることを確認する:
FunctionSign[g, x]Plot[{f, g}, {x, -7, 7}]テキスト
Wolfram Research (2020), FunctionMonotonicity, Wolfram言語関数, https://reference.wolfram.com/language/ref/FunctionMonotonicity.html.
CMS
Wolfram Language. 2020. "FunctionMonotonicity." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FunctionMonotonicity.html.
APA
Wolfram Language. (2020). FunctionMonotonicity. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionMonotonicity.html
BibTeX
@misc{reference.wolfram_2026_functionmonotonicity, author="Wolfram Research", title="{FunctionMonotonicity}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionMonotonicity.html}", note=[Accessed: 02-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_functionmonotonicity, organization={Wolfram Research}, title={FunctionMonotonicity}, year={2020}, url={https://reference.wolfram.com/language/ref/FunctionMonotonicity.html}, note=[Accessed: 02-November-2026]}