Python - Sympy 最小值和最大值

标签 python sympy calculus

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

    import numpy as np
    from numpy import linspace, math, arange, linspace
    from sympy import *
    import sympy as sp
    import math

    x = Symbol('x')
    f = (x**4) - (24*x**2) + 80  
    fd = diff(f)
    fdd = diff(fd)
    print(fd)
    print(fdd)

    polyRoots = solveset(f,x)
    dRoots = solveset(fd,x) #gets critical x values
    ddRoots = solveset(fdd,x)

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

最佳答案

>>> 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]

关于Python - Sympy 最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47420887/

相关文章:

python - 比较 Python 字典中的值

python - Sympy 多维套装

python - Sympy 点积无法正确读取尺寸

java - 为什么在处理大型/速度射弹时会出现不准确的情况,是由于欧拉积分吗?

c# - 我的积分算法是否正确?我们还可以在并行处理和效率方面提高这一点吗?代码在 C# 中

java - 求两条曲线之间的面积(每条曲线由一组点组成)

Python特定类型的深度嵌套字典

python - 为什么使用 Pandas.to_datetime 进行的这种日期转换比某些替代方法慢得多?

python - 在 python 事件处理程序中检索 Tk 虚拟事件的 -data 字段

python - 使用 sympysolve 命令时显示一定范围内的解