• 技术文章 >Python技术 >Python基础教程

    Python SymPy求极值

    小妮浅浅小妮浅浅2021-06-16 09:34:46原创5643

    SymPy是Python符号计算库。其目标是成为一个功能齐全的计算机代数系统,代码保持简洁,易于理解和扩展。Python是完全由Python编写的,不依赖外部库。

    1、求、求导、求偏导以及带值求导

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    import sympy

    #求

    #设置符号变量Symbol只能创建一个变量 symbols 可一次定义多个变量

    x1,x2,x3,x4=sympy.symbols('x1,x2,x3,x4')

    #创建函数建立方程式

    def F(t):

        return sympy.sin(t)/t

    def N(t):

        return (x1**3+3*x1**2+1)/(4*x1**3+2*+3)

    #调用limit求

    limF=sympy.limit(F(x1),x1,0)

    limN=sympy.limit(N(x1),x1,sympy.oo)

    print("x1趋于0的为{}".format(limF))

    print("x1趋于0的为{}".format(limN))

    #求导

    #创建求导函数

    def S(t):

        return sympy.sec(t) #正割

    def S1(x):

        return 2*x**4+2

    #调用diff函数求导

    s=sympy.diff(S(x1),x1).subs(x1,1) #subs 带值求导

    print('S在1处的导数为{}'.format(s))

    #求多阶导数 2阶

    s1=sympy.diff(S1(x1),x1,2)

    #带值计算

    print("S1的二阶导数{}   带入值2计算为{}".format(s1,s1.subs(x1,2)))

    #建立求偏导函数

    def PD(x,y,z):

        return sympy.sin(x+pow(y,2)-sympy.exp(z))

    #对x求偏导

    x=sympy.diff(PD(x1,x2,x3),x1)

    # print(x.subs(x1,2))

    #对y求偏导

    y=sympy.diff(PD(x1,x2,x3),x2)

    #对z求偏导

    z=sympy.diff(PD(x1,x2,x3),x3,2)

    print("x的偏导为{}\ny的偏导为{}\nz的二次偏导为{}".format(x,y,z))

    2、建立表达式

    不求其,只需要表达式。也就是说是一个未计算(评估)的,是一个表达式。

    1

    2

    3

    4

    from sympy import Limit, sin, Symbol

    from sympy.abc import x

    Limit(sin(x)/x, x, 0) # 这是一个表达式,不执行计算

    Limit(1/x, x, 0, dir='-') # 这也是一个表达式,不执行计算

    以上就是Python SymPy求极值的用法,希望对大家有所帮助。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python sympy
    上一篇:python函数符号sympy的用法 下一篇:python无法识别命令的解决

    相关文章推荐

    • python切片步长怎样实现• python字符串格式化的方法整理• python语句和缩进的实现• python变量如何拼接• python常量是什么• python random中的随机函数• python函数式编程如何理解• python loguru如何记录日志• python使用loguru操作日志• python input()的特性• python列表中有哪些内置函数• python系统内置方法如何获取• python列表追加元素出错的解决• python匿名函数lambda的注意点• python列表的数据类型分析

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网