Python Sympy 包学习笔记

it2025-12-04  14

#学习sympy笔记 函数包括: symbols, solve, summation, limit, diff, intergrate #求方程及方程组---------------------- from sympy import symbols, solve x = symbols('x') f = x ** 2 + x -6 solve(f > 0, x) x = symbols('x') f1 = x ** 2 + x -6 f2 = 2 * x + 6 - 7 * x +9 solve([f1 > 0, f2 >=0], x) x,y = symbols('x y') solve([x + y - 1,x - y -3],[x,y]) #求和----------------------------- import sympy#定义变量 n=sympy.Symbol('n') f=2*n #前面参数放函数,后面放变量的变化范围 s=sympy.summation(f,(n,1,100)) print(s) #求带和的方程----------------------- import sympy #定义变量 n=sympy.Symbol('n') f=2*n #前面参数放函数,后面放变量的变化范围 s=sympy.summation(f,(n,1,100)) print(s) #求极限------------------------- #求极限使用limit方法 #定义变量与函数 x=sympy.Symbol('x') f1=sympy.sin(x)/x f2=(1+x)**(1/x) f3=(1+1/x)**x #三个参数是 函数,变量,趋向值 lim1=sympy.limit(f1,x,0) lim2=sympy.limit(f2,x,0) lim3=sympy.limit(f3,x,sympy.oo) print(lim1,lim2,lim3) #求微分 diff(f,x,x)---------------------------------- from sympy import symbols, diff import sympy as sp x = symbols('x') diff(sp.cos(x),x) diff(x**4, x, 3)#求三阶导数 diff(x**4, x, x, x) #同求三阶导数 #求积分 intergrate(f,a,b)---------------------------------- import sympy as sp x = symbols('x') f = sp.integrate(sp.cos(x),x)#一重积分 x, y = symbols(['x', 'y']) sp.integrate(sp.exp(-x**2 - y**2), (x, -float('inf'), float('inf')), (y, -float('inf'), float('inf'))) #二重积分 #注意这里无穷的写法: float('inf) #表达式简化------------------------------- from sympy import simplify #simplify( )普通的化简 from sympy import simplify simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1)) #trigsimp( )三角化简 trigsimp(sin(x)/cos(x)) #powsimp( )指数化简 powsimp(x**a*x**b) a = (x + 1)**2 b = x**2 + 2*x + 1 simplify(a - b) #符号运算!好强啊...用这个去高考绝对满分啊.... #表达式的同项拆分与合并 expand , factor-------- from sympy import expand, factor expand(x * (x**2+y)) factor(x**3 + x*y) #表达式生成的高级操作------------------------------------- expr = x**4 - 4*x**3 + 4*x**2 - 2*x + 3 replacements = [(x**i, y**i) for i in range(5) if i % 2 == 0] expr.subs(replacements) -4*x**3 - 2*x + y**4 + 4*y**2 + 3 #计算函数值得最高级操作------------------------------- x = symbols('x') f = x**2 f.evalf(subs={x:2}) f.evalf(subs={x:1, y:2})

 

最新回复(0)