Math 绘制函数f(x)=x^3-6x^2+的图形;d3.js中的9x-4

Math 绘制函数f(x)=x^3-6x^2+的图形;d3.js中的9x-4,math,d3.js,Math,D3.js,我回到了大学学习数学,我想尝试使用这些知识创建一些带有d3.js的svg 如果我有一个函数f(x)=x^3-3x^2+3x-1 我将采取以下步骤: 查找y=0时的x截取 当x=0时,求y截距 当dy\dx=0时,找到固定点 然后从第3点得到2个x值,插入原始方程 然后我会画一张自然表来判断图形或曲线的流动 从上面画出已知点并绘制图表 将我在纸上和笔上所做的事情翻译成代码指令,这是我真正可以做的,只要有以下几点建议: 当y=0时,如何以编程方式分解上述第1点以查找x截取。我真的不知道从哪里开始 如

我回到了大学学习数学,我想尝试使用这些知识创建一些带有d3.js的svg

如果我有一个函数f(x)=x^3-3x^2+3x-1

我将采取以下步骤:

  • 查找y=0时的x截取
  • 当x=0时,求y截距
  • 当dy\dx=0时,找到固定点
  • 然后从第3点得到2个x值,插入原始方程
  • 然后我会画一张自然表来判断图形或曲线的流动
  • 从上面画出已知点并绘制图表
  • 将我在纸上和笔上所做的事情翻译成代码指令,这是我真正可以做的,只要有以下几点建议:

  • 当y=0时,如何以编程方式分解上述第1点以查找x截取。我真的不知道从哪里开始
  • 如何以编程方式查找dy/dx和固定点的值
  • 如果我真的走到了这一步,那么我应该在d3中使用什么来连接图上的点呢
  • 你的其他“步骤”与d3或绘图无关

    查找y=0时的x截取

    这是根查找。寻找有助于这一点的算法

    当x=0时,求y截距

    简单:替换以获得
    y=1

    当dy\dx=0时,找到固定点

    取一阶导数得到
    3x^2-12x+9
    ,然后重复根查找步骤。使用二次方程很容易得到

    然后我将从第3点得到2个x值,插入原始值 方程式然后我会画一张自然表来判断水流 图形或曲线。从上面绘制已知点并绘制草图 图表

    我只是画一条曲线。为x选择一个范围,然后开始

    学习d3很棒。你会得到这样的结果:


    对于三次多项式,有闭合公式可用于找到所有需要的特定点(),这是一种确定它们的合理方法

    无论如何,您必须绘制平滑曲线,这意味着您需要计算足够近的点,并绘制一条连接这些点的多段线

    这样做,您实际上是在执行数值根隔离的第一步,其精度使得近似根和精确根实际上无法区分

    因此,一个简单的组合解决方案是将曲线绘制为多段线,并使用此多段线表示法,而不是通过更复杂的方法,找到与X轴的交点以及极值

    这种方法适用于任何连续曲线,并且非常容易实现。因此,实际上绘制曲线是为了找到特定的点,而不是像分析方法那样相反



    为了在复杂曲线上获得最佳效果,您可以根据局部曲率调整点密度,但这是另一回事。

    您的函数是一条曲线
    x^3-3x^2+3x-1
    。。。你的最终目标是什么?做一条曲线还是一条直线