2017-11-21 33 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] 
関連する問題