使用mathematica标记图像凹凸性部分
程序员文章站
2022-03-31 14:53:20
...
在使用Plot函数为某个具有表达式的单变量数学函数作图时,有时候我们需要标记函数图像的凹/凸性部分。例如,我们作出函数
的图像
f = Sin[Sqrt[2] x] + Sin[x];
plot = Plot[f, {x, 0, 50}]
可得
现在我们要标记出这个凹函数的部分,即二阶导小于0:
rfccv = Function[{x, y}, Evaluate[D[f, {x, 2}] < 0]];
ccv = Plot[f, {x, 0, 50}, RegionFunction -> rfccv, PlotStyle -> Blue]
可得到图像如下:
同样地,我们也可以作出凸的部分:
rfcvx = Function[{x, y}, Evaluate[D[f, {x, 2}] > 0]];
cvx = Plot[f, {x, 0, 50}, RegionFunction -> rfcvx, PlotStyle -> Orange]
将它们放在一块,得到
Legended[Show[cvx, ccv], SwatchLegend[{Orange, Blue}, {"convex", "concave"}]]