SymPy学习之Introduction

本文介绍了使用Python的SymPy库进行符号计算的方法,包括数学表达式的符号化处理、求导、积分、解方程等内容,并对比了SymPy与Python内置函数的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与Python内置函数的区别
#内置函数
>>> import math
>>> math.sqrt(9)
3.0
>>> math.sqrt(8)
2.82842712475
#sympy
>>> import sympy
>>> sympy.sqrt(3)
sqrt(3)
>>> sympy.sqrt(8)
2*sqrt(2)
#sympy保留了原式,且能自动进行部分化简
符号表达式
>>> from sympy import symbols
>>> x, y = symbols('x y')    #定义x,y
>>> expr = x + 2*y   #定义表达式
>>> expr
x + 2*y
>>> expr + 1  #表达式的加减
x + 2*y + 1
>>> expr - x
2*y
>>> x*expr  #表达式相乘,结果并未展开
x*(x + 2*y)
>>> from sympy import expand, factor
>>> expanded_expr = expand(x*expr)  #用expand将表达式展开
>>> expanded_expr
x**2 + 2*x*y
>>> factor(expanded_expr)      #用factor将表达式因式分解
x*(x + 2*y)
符号计算的力量
>>> from sympy import *
>>> x, t, z, nu = symbols('x t z nu')
>>> init_printing(use_unicode=True)  用unicode打印字符
>>> diff(sin(x)*exp(x), x)   #求导
 x           x
ℯ ⋅sin(x) + ℯ ⋅cos(x)
>>> integrate(exp(x)*sin(x) + exp(x)*cos(x), x) #不定积分
 x
ℯ ⋅sin(x)
>>> integrate(x**2,(x,-1,1))  #定积分
2/3
>>> limit(sin(x)/x, x, 0)  #求极限
1
>>> solve(x**2 - 2, x)  #解方程x^2 - 2 = 0
[-√2, √2]
>>> y = Function('y')  #解微分方程
>>> dsolve(Eq(y(t).diff(t, t) - y(t), exp(t)), y(t))
           -t   ⎛     t⎞  t
y(t) = C₂⋅ℯ   + ⎜C₁ + ─⎟⋅ℯ
                ⎝     2⎠
>>> Matrix([[1, 2], [2, 2]]).eigenvals() #矩阵特征值
⎧3   √17       √17   3   ⎫
⎨─ + ───: 1, - ─── + ─: 1⎬
⎩2    2          2     2   ⎭





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值