2017-11-21 17 views
1

나는 sympy의 수학 함수를 배우려고 노력 그리고 난을 통해 극값의 중요한 점을 두 번째 유도체의 뿌리를 점점 늘어나는만큼 얻을 수 있어요 :파이썬 - 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로 대체하고 값 목록을 출력하려면 어떻게합니까?

답변

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]