【问题标题】:Python - Sympy Minima and MaximaPython - Sympy 极小值和极大值
【发布时间】:2017-11-21 19:11:04
【问题描述】:

我正在尝试学习 sympy 的微积分函数,并且我能够通过以下方式获得极值临界点的二阶导数的根:

将 numpy 导入为 np 从 numpy 导入 linspace,数学,arange,linspace 从同情进口* 将 sympy 导入为 sp 导入数学 x = 符号('x') f = (x**4) - (24**x**2) + 80 fd = 差异(f) fdd = 差异(fd) 打印(fd) 打印(fdd) polyRoots = solveset(f,x) dRoots = solveset(fd,x) #获取关键x值 ddRoots = solveset(fdd,x)

如何将我从 dRoots 得到的值代入原始方程 f,并让它输出一个值列表?

【问题讨论】:

    标签: python sympy calculus


    【解决方案1】:
    >>> from sympy import *
    >>> x = Symbol('x')
    >>> f = x**4 - 24*x**2 + 80
    >>> fd = diff(f)
    >>> fdd = diff(fd)
    >>> polyRoots = solveset(f, x)
    >>> dRoots = solveset(fd, x)
    >>> ddRoots = solveset(fdd, x)
    >>> dRoots
    {0, -2*sqrt(3), 2*sqrt(3)}
    >>> [_ for _ in dRoots]
    [0, -2*sqrt(3), 2*sqrt(3)]
    >>> [f.subs(x, _) for _ in dRoots]
    [80, -64, -64]
    

    您可以通过以下方式验证这是否有意义:

    >>> [f.subs(x, _) for _ in polyRoots]
    [0, 0, 0, 0]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      相关资源
      最近更新 更多