我正在为 1 个变量的函数开发一个 2D 绘图程序。它的设计非常简单,因此用户不必选择初始绘图限制(或“范围”)。
是否有已知算法可以找到最有趣的绘图限制,只知道函数f(x)?
笔记:
- 有趣的情节限制的定义在这里没有很好地定义。这是问题的一部分:情节中最有趣的部分是什么?
- 我已经有一个算法来确定函数f具有有限值的x值的范围。
- 我正在使用 Javascript,但任何语言都可以。
- 我不想使用现有的库。
- 函数f仅限于用户可以使用基本数学运算符
+ - * / ^
和函数编写的表达式exp log abs sqrt sin cos tan acos asin atan ceil floor
。 - 使用 Google 图表,您可以获得一些自动限制的示例。打字
graph sin(x)
效果很好,但graph exp(x)
并graph log(x)
没有真正给出最好的结果。此外,graph sin(x*100)*exp(-x^2)
不选择我认为信息最多的限制。但这对我来说已经足够了。
更新:
我发现PlotRange
在Mathematica中自动执行此操作非常好(请参见此处)。源代码是否可用,或解释算法的参考?我在任何地方都找不到它。
更新:
受此站点启发,我开始使用自适应细化算法来查找信息丰富的绘图范围。它还不能完美地工作,但目前的进展是在我的项目中实现的。您可以尝试绘制一些函数,看看它是如何工作的。当我有一个完整的工作版本时,我可以发布一个答案。