numpy基础(part14)--积分
学习笔记,这个笔记以例子为主。
开发工具: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)--积分相关推荐
- 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能
文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...
- Matplotlib 和numpy 基础学习笔记
Matplotlib 和 numpy 基础学习笔记 一.numpy.scipy.matplotlib简介及环境安装 NumPy 通常与 SciPy(Scientific Python)和 Matplo ...
- Python精讲Numpy基础,大牛笔记详细解释
https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...
- python之numpy基础_Python知识普及:Numpy基础操作
原标题:Python知识普及:Numpy基础操作 Numpy基础数据结构 创建数组 Numpy通用函数 import numpy as np # reshape 改变数组维度形状 ar1 = np.a ...
- 【Python】Numpy基础:数组和矢量运算
Numpy基础:数组和矢量运算 目录: 文章目录 一 Numpy及其重要性 二 ndarray:一种多维数组对象 1 创建ndarray 2 ndarray的数据类型 3 数组和标量之间的运算 4 基 ...
- Python 数据分析与展示笔记1 -- Numpy 基础
Python 数据分析与展示笔记1 – NumPy 基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展示 参考文档 ...
- python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算
利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...
- numpy 随机数_数据分析numpy基础看着一篇就够了
1,Numpy基础数据结构 2,Numpy通用函数 3,Numpy索引及切片 4,Numpy随机数 5,Numpy数据的输入输出 1,Numpy基础数据结构 NumPy数组是一个多维数组对象,称为nd ...
- Numpy基础(part1)--ndarray数组
鄙人学习笔记,这个笔记以例子为主. 开发工具:Spyder 文章目录 使用python做数据分析的常用库 numpy概述 ndarray数组 内存中的ndarray对象 ndarray数组对象的创建 ...
最新文章
- 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
- SpringBoot 上传文件报错记录
- LVS server 关键点
- 详解各种锁:CAS、共享锁、排它锁、互斥锁、悲观锁、乐观锁、行级锁、表级锁、页级锁、死锁、JAVA对CAS的支持、ABA问题、AQS原理
- dat文本导入mysql_mysql学习笔记(九) 增删改查的优化
- java mssql mysql,在JSP中访问MSSQLServer数据库_MySQL
- 4400 万个微软帐户使用泄露的密码
- 闽南师范大学计算机学院研究生,闽南师范大学计算机学院2019考研调剂信息
- 循环减肥c语言,最好的减肥方法
- pytesseract识别数字
- 为什么会发生通货膨胀
- 程序员要知道的英语词汇
- Android一键锁屏功能的实现,推荐一款非常好用的Android一键锁屏软件
- 大小不同图片归一化到给定大小
- (转)熊绎:我看软件工程师的职业规划
- 群晖NAS设置IPV6公网访问
- [置顶] CVT广州视源笔试面试经历(2013实习生招聘)
- break跳出两重循环
- JS实现JSON.stringify
- wex5 生成动态轮播图代码
热门文章
- 数据结构:线性数据结构(3)-deques(栈,队列,deques, 列表)
- 5.13 卡尔曼滤波
- python封装类连接mysql数据_python操作mysql数据库基本类封装
- python指定变量类型_Python#160;变量类型_python教程
- 调用支付jsapl缺少参数:totalfee openid无法取得_微信支付的架构到底有多牛?
- mysql order by if()或order by in()条件排序
- vue 通过绑定事件获取当前行的id
- ELSE 技术周刊(2017.11.27期)
- 第四-generation音频:互联网智能声音会火
- 自动校验控件演示[含源码]