使用Python-sympy计算高等数学(多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等)

使用Python-sympy计算高等数学(多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等)

sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题。虽然Matlab的类似科学计算能力也很强大,但是Python以其语法简单、易上手、异常丰富的三方库生态,个人认为可以更优雅地解决日常遇到的各种计算问题。

首先使用pip下载sympy

使用Python-sympy计算高等数学(多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等)_第1张图片

from sympy import *   ##为了避免要导入各种函数 直接把整个sympy导入

from sympy import  integrate ,cos,sin
from sympy.abc import  a,x,y

##使用符号变量的时候,需要先导入符号,在sympy.abc下。以下为一个小的例子(sin(x)/x在负无穷到正无穷下的定积分,结果为pai,这是一个瑕积分,计算起来比较麻烦,但是Python可以再不到1秒之内计算出来)

integrate(sin(x)/x,(x,-float("inf"),float("inf")))#积分 integrate(function, variable, point)


limit(sin(x)/x, x, 0)#极限 limit(function, variable, point) 


cos(x).series(x, 0, 10)  #级数 级数 series(var, point, order)


integrate(2*x + sinh(x), x) # 初等函数


diff(sin(2*x), x, 1) #微分 高阶微分 diff(func, var, n)


integrate(exp(-x**2)*erf(x), x) #特殊函数


integrate(log(x), (x, 0, 1))


integrate(exp(-x), (x, 0, oo)) #某些广义积分


x = Symbol("x", real=True)
exp(I*x).expand(complex=True) #复数


sin(x+y).expand(trig=True) #三角函数


apart((x+1)/(x-1), x) #代数 局部的代数式展开,使用apart(expr, x)


together(apart(1/( (x+2)*(x+1) ), x), x) #代数 合并,使用together(expr, x)

f=Function('f')
f(x).diff(x, x) + f(x)  #注意在使用输入该命令之前,一定要声明f=Function('f')


dsolve(f(x).diff(x, x) + f(x), f(x)) #微分方程


solve([x + 5*y - 2, -3*x + 6*y - 15], [x, y]) #代数方程


Matrix([[1,0], [0,1]]) #矩阵

使用Python-sympy计算高等数学(多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等)_第2张图片

 

x = Symbol('x')##带有求和式的方程
i = Symbol('i',integer = True)
f = summation(x,(i,1,5)) + 10 * x - 15
solve(f,x)

##integrate(x*sin(x), (x, 0, 2*pi))

##limit(sin(2*x)/x, x, 0)#极限 limit(function, variable, point)

# #E**(I*pi)+1 = 0 //欧拉公式

##from sympy import *
##
##integrate((2*x+1)/(cos(x**2)),x)

##limit((5*sin(x)+x*x*sin(1/x))/((x**2+x-2*cos(x)*ln(1+x))), x, 0)#极限 limit(function, variable, point)

给出sympy的官方文档https://docs.sympy.org/0.7.1/tutorial.html#tutorial

使用Python-sympy计算高等数学(多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等)_第3张图片

你可能感兴趣的:(数学,编程)