学习笔记,这个笔记以例子为主。
开发工具:Spyder


积分

相关函数:

import scipy.integrate as si
# 利用quad求积分 给出函数f,积分下限与积分上限[a, b]   返回(积分值,最大误差)
area = si.quad(f, a, b)
#返回值为一个数组,第一个值为积分值,第二个为误差

举个例子

在[-5, 5]区间绘制二次函数 y = 3x2 + 2x + 1的曲线,并利用积分计算原理和numpy自带函数分别求积分。

构建函数,并创建x与y点集,绘制积分图:

import numpy as np
import matplotlib.pyplot as mp
import matplotlib.patches as mcdef f(x):return 3 * x ** 2 + 3 * x + 1a, b = -5, 5
n = 500
x1 = np.linspace(a, b, n + 1)
y1 = f(x1)mp.figure('Integral', facecolor='lightgray')
mp.title('Integral', fontsize=20)
mp.xlabel('x', fontsize=14)
mp.ylabel('y', fontsize=14)
mp.grid(linestyle=':')
mp.plot(x1, y1, c='orangered', linewidth=6, zorder=0)mp.show()

图像:

利用梯形计算定积分,并利用小梯形填充积分图:


import numpy as np
import matplotlib.pyplot as mp
import matplotlib.patches as mcdef f(x):return 3 * x ** 2 + 3 * x + 1a, b = -5, 5
n = 500
x1 = np.linspace(a, b, n + 1)
y1 = f(x1)area = 0for i in range(n):area += (y1[i] + y1[i + 1]) * (x1[i + 1] - x1[i]) / 2
print(area)mp.figure('Integral', facecolor='lightgray')
mp.title('Integral', fontsize=20)
mp.xlabel('x', fontsize=14)
mp.ylabel('y', fontsize=14)
mp.grid(linestyle=':')
mp.plot(x1, y1, c='orangered', linewidth=6, zorder=0)for i in range(n):mp.gca().add_patch(mc.Polygon([[x1[i], 0], [x1[i], y1[i]],[x1[i + 1], y1[i + 1]], [x1[i + 1], 0]],fc='deepskyblue', ec='dodgerblue',alpha=0.5))mp.show()

备注:add_patch()表示补丁,也可以说是在图像中绘制任意多边形;mc.Ploygon(点1, 点2, 点3,…)表示构建以点1, 点2, 点3,…为顶点的多边形

结果(积分值):

260.002

由小梯形原理,计算得到的积分值为260.002

图像:

利用API计算积分值:

代码:

import numpy as np
import scipy.integrate as sidef f(x):return 3 * x ** 2 + 3 * x + 1a, b = -5, 5area = si.quad(f, a, b)
print(area)

结果:

(260.0, 2.886579864025407e-12)

积分值为260.

numpy基础(part14)--积分相关推荐

  1. 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能

    文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...

  2. Matplotlib 和numpy 基础学习笔记

    Matplotlib 和 numpy 基础学习笔记 一.numpy.scipy.matplotlib简介及环境安装 NumPy 通常与 SciPy(Scientific Python)和 Matplo ...

  3. Python精讲Numpy基础,大牛笔记详细解释

    https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...

  4. python之numpy基础_Python知识普及:Numpy基础操作

    原标题:Python知识普及:Numpy基础操作 Numpy基础数据结构 创建数组 Numpy通用函数 import numpy as np # reshape 改变数组维度形状 ar1 = np.a ...

  5. 【Python】Numpy基础:数组和矢量运算

    Numpy基础:数组和矢量运算 目录: 文章目录 一 Numpy及其重要性 二 ndarray:一种多维数组对象 1 创建ndarray 2 ndarray的数据类型 3 数组和标量之间的运算 4 基 ...

  6. Python 数据分析与展示笔记1 -- Numpy 基础

    Python 数据分析与展示笔记1 – NumPy 基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展示 参考文档 ...

  7. python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  8. numpy 随机数_数据分析numpy基础看着一篇就够了

    1,Numpy基础数据结构 2,Numpy通用函数 3,Numpy索引及切片 4,Numpy随机数 5,Numpy数据的输入输出 1,Numpy基础数据结构 NumPy数组是一个多维数组对象,称为nd ...

  9. Numpy基础(part1)--ndarray数组

    鄙人学习笔记,这个笔记以例子为主. 开发工具:Spyder 文章目录 使用python做数据分析的常用库 numpy概述 ndarray数组 内存中的ndarray对象 ndarray数组对象的创建 ...

最新文章

  1. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
  2. SpringBoot 上传文件报错记录
  3. LVS server 关键点
  4. 详解各种锁:CAS、共享锁、排它锁、互斥锁、悲观锁、乐观锁、行级锁、表级锁、页级锁、死锁、JAVA对CAS的支持、ABA问题、AQS原理
  5. dat文本导入mysql_mysql学习笔记(九) 增删改查的优化
  6. java mssql mysql,在JSP中访问MSSQLServer数据库_MySQL
  7. 4400 万个微软帐户使用泄露的密码
  8. 闽南师范大学计算机学院研究生,闽南师范大学计算机学院2019考研调剂信息
  9. 循环减肥c语言,最好的减肥方法
  10. pytesseract识别数字
  11. 为什么会发生通货膨胀
  12. 程序员要知道的英语词汇
  13. Android一键锁屏功能的实现,推荐一款非常好用的Android一键锁屏软件
  14. 大小不同图片归一化到给定大小
  15. (转)熊绎:我看软件工程师的职业规划
  16. 群晖NAS设置IPV6公网访问
  17. [置顶] CVT广州视源笔试面试经历(2013实习生招聘)
  18. break跳出两重循环
  19. JS实现JSON.stringify
  20. wex5 生成动态轮播图代码

热门文章

  1. 数据结构:线性数据结构(3)-deques(栈,队列,deques, 列表)
  2. 5.13 卡尔曼滤波
  3. python封装类连接mysql数据_python操作mysql数据库基本类封装
  4. python指定变量类型_Python#160;变量类型_python教程
  5. 调用支付jsapl缺少参数:totalfee openid无法取得_微信支付的架构到底有多牛?
  6. mysql order by if()或order by in()条件排序
  7. vue 通过绑定事件获取当前行的id
  8. ELSE 技术周刊(2017.11.27期)
  9. 第四-generation音频:互联网智能声音会火
  10. 自动校验控件演示[含源码]