目录

  • 目录
  • 前言
  • (一)求导数-diff()
    • 1.一阶求导-diff()
    • 2.多阶求导-diff()
    • 3.求偏导数-diff()
  • (二)求积分-integrate()
  • (三)求极限-limit()
  • (四)级数展开-series()
    • 1.说明:
    • 2.源代码:
    • 3.输出:

目录

前言

今天讲的是,有关sympy的微积分部分的知识。

对应官网的知识:Calculus

官网教程

https://docs.sympy.org/latest/tutorial/calculus.html

(一)求导数-diff()

1.一阶求导-diff()

(1)说明:

语法是:diff(expr,x)

(2)源代码:

from sympy import *# 初始化
x = symbols('x')# 表达式
expr1 = cos(x)expr2 = exp(x**2)# 求导
r1 = diff(expr1, x)
r2 = diff(expr2, x)print("r1:", r1)
print("r2:", r2)

(3)输出:

\(\cos(x)\) --> \(-\sin(x)\)

\(e^{x^2}\) --> \(2xe^{x^2}\)

2.多阶求导-diff()

(1)说明:

多阶求导同样的使用diff(),其有两种形式

  1. 带参数中,添加几个x,就是对x的几次求导。diff(expr, x, x,x……)
  2. 用数字来控制所求的阶数:diff(expr, x, n)

(2)源代码:

from sympy import *# 初始化
x = symbols('x')# 表达式
expr1 = x**4# 第一种形式多阶求导
r1 = diff(expr1, x)
r2 = diff(expr1, x, x)
r3 = diff(expr1, x, x, x)print("="*30)
print(r1)
print(r2)
print(r3)# 第二种形式多阶求导
r4 = diff(expr1, x, 1)
r5 = diff(expr1, x, 2)
r6 = diff(expr1, x, 3)print("="*30)
print(r4)
print(r5)
print(r6)

(3)输出:

\(x^4\) --> \(24x\)

3.求偏导数-diff()

(1)说明:

diff()也可以单独对一个变量求导,这便是偏导数。

(2)源代码:

from sympy import *# 初始化
x, y, z = symbols('x y z')# 表达式
expr1 = exp(x*y*z)# 求导
r1 = diff(expr1, x, y, y, z, z, z, z)
r2 = diff(expr1, x, 1, y, 2, z, 4)print("r1:", r1)
print("r2:", r2)print(latex(r1))
print(latex(r2))

(3)输出:

\(e^{xyz}\) --> \(x^{3} y^{2} \left(x^{3} y^{3} z^{3} + 14 x^{2} y^{2} z^{2} + 52 x y z + 48\right) e^{x y z}\)

(二)求积分-integrate()

(1)说明:

求积分有三种形式,并且都用的是integrate()方法

  1. 求不定积分:integrate(expr, var)
  2. 求定积分:integrate(expr, (var, min, max))
  3. 求多重积分:integrate(expr, (var1, min, max),(var2,min,max))

(2)源代码:

from sympy import *# 初始化
x, y = symbols('x y')# 表达式
expr1 = cos(x)
expr2 = exp(-x)
expr3 = exp(-x**2-y**2)# 求不定积分
r1 = integrate(expr1, x)# 求定积分
r2 = integrate(expr2, (x, 0, oo))# 求多重积分
r3 = integrate(expr3, (x, -oo, oo), (y, -oo, oo))print("r1:", r1)
print("r2:", r2)
print("r3:", r3)

(3)输出:

\(\cos{\left (x \right )}\)-->\(\sin{\left (x \right )}\)

\(\int_{0}^\infty{e^{- x}dx}​\)-->\(1​\)

\(\int_{-\infty}^\infty \int_{-\infty}^\infty e^{- x^{2} - y^{2}}dxdy\)-->\(\pi\)

(三)求极限-limit()

(1)说明:

求极限使用limit(),其有下两种使用方法:

  1. 趋进某个点的极限:limit(expr, var, doit)
  2. 从侧边趋进某个值的极限:limit(expr, var,doit, "+") (左侧趋进同理)

注:sympy里,不可以使用无穷的趋进。

(2)源代码:

from sympy import *# 初始化
x = symbols('x')# 表达式
expr1 = sin(x)/x
expr2 = 1/x# 求趋于某个值的极限
r1 = limit(expr1, x, 0)# 正向趋进
r2 = limit(expr2, x, 0, '+')# 负向趋进
r3 = limit(expr2, x, 0, '-')print(r1)
print(r2)
print(r3)

(3)输出:

\(\lim_{x \to 0}\sin(x)/x\)-->\(1\)

\(\lim_{x \to 0^+}​\)-->\(\infty​\)

\(\lim_{x \to 0^-}\)-->\(-\infty​\)

(四)级数展开-series()

1.说明:

级数展开请使用:series(expr, x0, xn),使用.removeO()去除尾数。

2.源代码:

from sympy import *# 初始化
x = symbols('x')# 表达式
expr1 = exp(sin(x))# 级数展开
r1 = expr1.series(x, 0, 6)# 去除尾数
r2 = expr1.series(x, 0, 6).removeO()print(r1)
print(r2)

3.输出:

\(e^{\sin(x)}​\)-->\(1 + x + \frac{x^{2}}{2} - \frac{x^{4}}{8} - \frac{x^{5}}{15} + O\left(x^{6}\right)​\)

\(e^{\sin(x)}\)-->\(- \frac{x^{5}}{15} - \frac{x^{4}}{8} + \frac{x^{2}}{2} + x + 1​\)

作者:Mark

日期:2019/03/17 周日

转载于:https://www.cnblogs.com/zyg123/p/10548905.html

5.4Python数据处理篇之Sympy系列(四)---微积分相关推荐

  1. python解复杂方程_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...

  2. python 解方程 sympy_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...

  3. python解二元一次方程_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 https://docs.sympy.org/latest/tutorial/solv ...

  4. 5.3Python数据处理篇之Sympy系列(三)---简化操作

    目录 5.3简化操作 目录 前言 (一)有理数与多项式的简化 1.最简化-simplify() 2.展开-expand() 3.提公因式-factor() 4.合并同类项-ceiling() 5.简化 ...

  5. 4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制

    目录 目录 前言 (一)需求分析 (二)随机数的动态图 1.思路分析: 2.源代码: 2.输出效果: 目录 前言 学习matplotlib已经到了尾声,没有必要再继续深究下去了,现今只是学了一些基础的 ...

  6. 4.3Python数据处理篇之Matplotlib系列(三)---plt.plot()折线图

    目录 前言 (一)plt.plot()函数的本质 ==1.说明== ==2.源代码== ==3.展示效果== (二)plt.plot()函数缺省x时 ==1.说明== ==2.源代码== ==3.展示 ...

  7. 3.7Python数据处理篇之Numpy系列(七)---Numpy的统计函数

    目录 目录 前言 (一)函数一览表 (二)统计函数1 (三)统计函数2 目录 前言 具体我们来学Numpy的统计函数 (一)函数一览表 调用方式:np.* .sum(a) 对数组a求和 .mean(a ...

  8. Python数据处理篇之Matplotlib系列(六)---plt.hist()与plt.hist参数详解

    https://www.cnblogs.com/zyg123/p/10504645.html

  9. 4.12Python数据处理篇之Matplotlib系列(十二)---绘图风格的介绍

    目录 目录 前言 (一)不同风格 1.说明: 2.使用: 3.代码使用: (二)例子演示 1.dark_background 2.bmh 3.fivethirtyeight 4.ggplot 5.gr ...

最新文章

  1. 串的堆分配存储c语言,数据结构c语言串的堆分配存储源程序
  2. [C#]面向对象设计
  3. python基础教程学习笔记十二
  4. java url特殊字符处理_简单实例处理url特殊符号处理(2种方法)
  5. mount: unknown filesystem type 'smbfs' 问题解决
  6. 一个毕设的建成——记录下我毕设途中的《SOP》
  7. java customerservlet_顾客管理系统java+servlet
  8. LINUX矩阵键盘简单介绍,stm32矩阵键盘原理图及程序介绍
  9. 网关是什么?有什么作用?
  10. unity android profile adt,Unity Android OBB
  11. 异常:org.springframework.http.converter.HttpMessageNotReadableException
  12. 使用Julia进行图像处理--JuliaImages介绍与基础使用
  13. Advances in adversarial attacks and defenses in computer vision: A survey论文解读
  14. SWF播放器object DEMO
  15. # Codeforces Round #548 (Div. 2)C Edgy Trees
  16. [紫书CH0] 《算法竞赛入门经典》(第2版) 题解目录
  17. vue使用 Font 字体 .ttf 格式
  18. python股票数据分析实例_Python之简单股票数据分析
  19. 移动性管理:小区选择与重选
  20. ArchLinux flash firefox

热门文章

  1. 关于spring的p标签(转)
  2. httpmodule权限应用
  3. 《数据科学:R语言实现》——3.12 估计缺失数据
  4. 手把手教你看懂并理解Arduino PID控制库——调参改变
  5. Android LayoutInflater原理分析,带你一步步深入了解View(一)
  6. 七日Python之路--第八天
  7. ASP.NET MVC 2 模型验证
  8. Web Office 常见问题解决方法
  9. 是时候搞清楚 Spring Boot 的配置文件 application.properties 了!
  10. Docker Compose 配置文件详解