文档详情

6Python科学计算与数据处理.ppt

发布:2016-12-01约1.92万字共73页下载文档
文本预览下载声明
其他功能 极限 极限在sympy中使用很简单,它们的语法是limit(function, variable, point),所以计算当x趋近于0时f(x)的极限,可以给出limit(f, x, 0): 也可以计算在无穷的极限: * from sympy import * x=Symbol(x) limit(sin(x)/x, x, 0) 1 limit(sin(x)/x, x, oo) 0 其他功能 级数展开 使用.series(var, point, order): * (1/cos(x)).series(x, 0, 10) 1 + x**2/2 + 5*x**4/24 + 61*x**6/720 + 277*x**8/8064 + O(x**10) e = 1/(x + y) s = e.series(x, 0, 5) print(s) 1/y - x/y**2 + x**2/y**3 - x**3/y**4 + x**4/y**5 + O(x**5) pprint(s) 2 3 4 1 x x x x ? 5? ─ - ── + ── - ── + ── + O?x ? y 2 3 4 5 y y y y 其他功能 求和 计算给定求和变量界限的f的总和(Summation) summation(f, (i, a, b))变量i从a到b计算f的和.如果不能计算总和,它将打印相应的求和公式。求值可引入额外的极限计算: * from sympy import summation, oo, symbols, log i, n, m = symbols(i n m, integer=True) summation(2*i - 1, (i, 1, n)) n**2 summation(1/2**i, (i, 0, oo)) 2 其他功能 * summation(1/log(n)**n, (n, 2, oo)) Sum(log(n)**(-n), (n, 2, oo)) summation(i, (i, 0, n), (n, 0, m)) m**3/6 + m**2/2 + m/3 summation(i, (i, 0, n)) n**2/2 + n/2 summation(n**2/2 + n/2, (n, 0, m)) m**3/6 + m**2/2 + m/3 from sympy.abc import x from sympy import factorial summation(x**n/factorial(n), (n, 0, oo)) exp(x) 其他功能 矩阵 矩阵从Matrix类创建,它可以包含符号: * x = Symbol(x) y = Symbol(y) A = Matrix([[1,x], [y,1]]) A Matrix([ [1, x], [y, 1]]) A**2 Matrix([ [x*y + 1, 2*x], [ 2*y, x*y + 1]]) 其他功能 模式匹配 使用.match()方法,和Wild类对表达式实行模式匹配。这个方法将返回一个发生替换的字典,如下: * from sympy import Symbol, Wild x = Symbol(x) p = Wild(p) (5*x**2).match(p*x**2) {p_: 5} q = Wild(q) (x**2).match(p*x**q) {q_: 2, p_: 1} 其他功能 如果匹配失败,将返回None: 可以指定Wild类的排除参数去保证一些东西不出现在结果之中: * print (x+1).match(p**x) None p = Wild(p, exclude=[1,x]) print (x+1).match(x+p) # 1 is excluded None print (x+1).match(p+1) # x is excluded None print (x+1).match(x+2+p) # -1 is not excluded {p_: -1} 其他功能 Numpy.geometry平面几何模块 这个模块可以创建二维几何图形的对象,如直线,线段,圆等,并
显示全部
相似文档