[英]Python - Sympy Minima and Maxima
我正在嘗試學習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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.