我真的没有找到任何好的来源来介绍这个解决方案/想法。我们在我的课上从JavaFX开始,我有作业。
我有一个应该在JavaFX中构建图形的等式。我准备好了画布。例如y=4x^3 3x^2-3x 1。
在这里我们可以计算一些点:
x = -1, y = -4 + 3 + 3 + 1 = 3
x = 0, y = 1
x = 1, y = 5
x = 2, y = 4 * 2^3 + 3 * 2^2 - 3 * 2 + 1 = 39
正如我所能想象的,这个想法是以大约0.1的步长为赌注。但是我仍然不知道如何编写那个东西。教授说,我们的代码必须求解任何三次方程。如果图形以极值点为中心,则加分。
如果你必须找到极值,寻找拐点(二阶导数的根;这是基本的)。你可以把绘图集中在这一点上,因为它位于极值的中间。通过找到一阶导数的根,你将找到这些极值,如果它们存在的话。
通过检查函数在极值的符号,您将知道函数有多少根(1或3),以及它们可以位于哪里。
这足以使用称为“正则表达式”的方法找到它们的精确位置。