先画图,观察图象:
y = x^3 - Sin[2 x + 1];Plot[y, {x, 0, 2}]
![](https://imgsa.baidu.com/forum/w%3D580/sign=79915107e51190ef01fb92d7fe1a9df7/ab95043b5bb5c9eae96a8209d739b6003bf3b34a.jpg)
注意到,函数在0.2附近有最小值,在2处有最大值。
所以:
FindMinimum[y, {x, 0.2}]
得到:
{-0.982064, {x -> 0.241574}}
所以在0.241574处,取到最小值-0.982064
再代入x=2:
y /. x -> 2
得到最大值:
8 - Sin[5]
也就是:
8.95892
------------------------------------------------------------------------
关于最小值的解析解,
可以做如下尝试:
D[y, x];Solve[% == 0, x]
输出了一个警告:
Solve::nsmet: This system cannot be solved with the methods available to Solve.
也就是说,至少不存在不适用特殊函数的解析解。
换用NSolve,也是一样的结果。
只有用FindRoot:
FindRoot[D[y, x] == 0, {x, 0.2}]
才得到了{x -> 0.241574}
这恰好是前面的结果。
-----------------------------------------------------------------------
官网上有关求最值的教程:
http://reference.wolfram.com/mathematica/tutorial/NumericalOptimization.html
y = x^3 - Sin[2 x + 1];Plot[y, {x, 0, 2}]
![](https://imgsa.baidu.com/forum/w%3D580/sign=79915107e51190ef01fb92d7fe1a9df7/ab95043b5bb5c9eae96a8209d739b6003bf3b34a.jpg)
注意到,函数在0.2附近有最小值,在2处有最大值。
所以:
FindMinimum[y, {x, 0.2}]
得到:
{-0.982064, {x -> 0.241574}}
所以在0.241574处,取到最小值-0.982064
再代入x=2:
y /. x -> 2
得到最大值:
8 - Sin[5]
也就是:
8.95892
------------------------------------------------------------------------
关于最小值的解析解,
可以做如下尝试:
D[y, x];Solve[% == 0, x]
输出了一个警告:
Solve::nsmet: This system cannot be solved with the methods available to Solve.
也就是说,至少不存在不适用特殊函数的解析解。
换用NSolve,也是一样的结果。
只有用FindRoot:
FindRoot[D[y, x] == 0, {x, 0.2}]
才得到了{x -> 0.241574}
这恰好是前面的结果。
-----------------------------------------------------------------------
官网上有关求最值的教程:
http://reference.wolfram.com/mathematica/tutorial/NumericalOptimization.html