欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用mathematica标记图像凹凸性部分

程序员文章站 2022-03-31 14:53:20
...

在使用Plot函数为某个具有表达式的单变量数学函数作图时,有时候我们需要标记函数图像的凹/凸性部分。例如,我们作出函数

使用mathematica标记图像凹凸性部分

的图像

f = Sin[Sqrt[2] x] + Sin[x];
plot = Plot[f, {x, 0, 50}]

可得

使用mathematica标记图像凹凸性部分

现在我们要标记出这个凹函数的部分,即二阶导小于0:

rfccv = Function[{x, y}, Evaluate[D[f, {x, 2}] < 0]];
ccv = Plot[f, {x, 0, 50}, RegionFunction -> rfccv, PlotStyle -> Blue]

可得到图像如下:

使用mathematica标记图像凹凸性部分

同样地,我们也可以作出凸的部分:

rfcvx = Function[{x, y}, Evaluate[D[f, {x, 2}] > 0]];
cvx = Plot[f, {x, 0, 50}, RegionFunction -> rfcvx, PlotStyle -> Orange]

使用mathematica标记图像凹凸性部分

将它们放在一块,得到

Legended[Show[cvx, ccv], SwatchLegend[{Orange, Blue}, {"convex", "concave"}]]

使用mathematica标记图像凹凸性部分

参考:https://reference.wolfram.com/language/ref/Plot.html