|
楼主 |
kuing
发表于 2019-4-1 17:26
当年的图是用几何画板画的,画法已经忘记,刚才想用 Mathematica 按楼上的表达式来画一下,结果不太顺利,事关一般的函数求最小值并不简单,即使用 NMinValue 也不行,会弹出些不知啥提示然后卡死,结果还是自己想了个土办法,用 Min[Table[N[...],...]] 的方式取代 NMinValue,也就是等距取一堆点找最小。
下面以 `f(x)=x-\sin x`, `x\in[0,11]` 为示例如下:- f[x_] = x - Sin[x];
- {xmin, xmax, nx} = {0, 11, 100};
- {kmin, kmax, nk} = {0, 2, 20};
- dx = (xmax - xmin)/nx;
- dk = (kmax - kmin)/nk;
- fx = Plot[f[x], {x, xmin, xmax}]
- g[x_] := Max[Table[k x + Min[Table[N[f[t] - k t], {t, xmin, xmax, dx}]], {k, kmin, kmax, dk}]]
- xgx = Table[{x, g[x]}, {x, xmin, xmax, dx}];
- gx = ListLinePlot[xgx, PlotStyle -> Red];
- Show[fx, gx]
复制代码 运行几秒后得:
另外,在软件中右键图片可以另存为 PDF,那是矢量图,可以放大看清楚。 |
|