使用Python的Sympy包可以实现符号运算,其中包括了微积分的内容。Excel内置Python提供了对Sympy包的支持。使用Sympy包之前,需要先导入它。[大谦Excel,dqexcel点com]
函数与极限
在Sympy中,可以用subs函数实现复合函数。下面将f=sin(x)和g=tan(y)复合到一个函数中,指定x为自变量。
如图6-1所示,打开Excel 365后,用鼠标单击B4单元格,在公式文本框中输入“=PY(”进入Python模式。
图6-1 复合函数
在公式文本框中输入下面的代码:
#导入Sympy
import sympy as sp
#创建符号变量x和y
x,y=sp.symbols('x,y')
#定义要复合的函数f和g
f=1/sp.sin(x)
g=sp.tan(y)
#复合函数并指定自变量,用str函数输出字符串
str(f.subs(x,g).subs(y,x))
单击Ctrl+Enter键,B4单元格中输出复合以后的函数如图6-1所示。
新建Excel文档,求极限。
如图6-2所示,用鼠标单击B4单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=(x-2)/(x**2-4)
str(sp.limit(f,x,2))
单击Ctrl+Enter键,B4单元格中输出求极限的结果1/4如图6-2所示。
用鼠标单击E4单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=(3*x-8)/(7*x+1)
str(sp.limit(f,x,sp.oo))
单击Ctrl+Enter键,E4单元格中输出求极限的结果3/7如图6-2所示。
图6-2 求函数的极限
导数
在Sympy中,可以用diff函数实现函数求导。使用diff函数进行求导时,可以指定阶次,也可以指定对哪个符号变量进行求导。
下面求函数的导数。如图6-3所示,打开Excel 365后,用鼠标单击B4单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=(x-1)**3/(x+1)
b=sp.diff(f,x)
#用simplify函数进行简化
str(sp.simplify(b))
单击Ctrl+Enter键,B4单元格中输出结果如图6-3所示。
继续求函数的2阶导数。用鼠标单击B8单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=(x-1)**3/(x+1)
b=sp.diff(f,x,2)
str(sp.simplify(b))
单击Ctrl+Enter键,B8单元格中输出结果如图6-3所示。
图6-3 求函数的导数
不定积分
在Sympy中,可以用integrate函数求函数的不定积分。
下面求不定积分 。如图6-4所示,打开Excel 365后,用鼠标单击B5单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=1/(1+x**2)
str(sp.integrate(f))
单击Ctrl+Enter键,B5单元格中输出结果如图6-4所示。
图6-4 求函数的不定积分
6.1.4定积分
在Sympy中,可以用integrate函数求函数的定积分。使用该函数时指定积分变量及其对应的下界和上界,注意积分变量、下界和上界要放在一个小括号里面。
下面求定积分。如图6-5所示,打开Excel 365后,用鼠标单击B4单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=x**7
str(sp.integrate(f,(x,0,1)))
单击Ctrl+Enter键,B5单元格中输出结果如图6-5所示。
下面求定积分。如图6-5所示,打开Excel 365后,用鼠标单击B8单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=1/x
str(sp.integrate(f,(x,1,2)))
单击Ctrl+Enter键,B8单元格中输出结果如图6-5所示。
图6-5 求函数的定积分
级数
在Sympy中,可以用series函数求函数的泰勒级数展开。
下面求函数的泰勒级数展开。如图6-6所示,打开Excel 365后,用鼠标单击B4单元格,在公式文本框中输入“=PY(”进入Python模式。在公式文本框中输入下面的代码:
import sympy as sp
x=sp.Symbol('x')
f=1/(5+4*sp.cos(x))
str(sp.series(f,x))
单击Ctrl+Enter键,B4单元格中输出结果如图6-6所示。
图6-6 求函数的泰勒级数展开