我正在尝试学习 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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)