收藏 分享(赏)

6.3 Phython 科学计算.ppt

上传人:精品资料 文档编号:11216296 上传时间:2020-02-19 格式:PPT 页数:44 大小:1.86MB
下载 相关 举报
6.3 Phython 科学计算.ppt_第1页
第1页 / 共44页
6.3 Phython 科学计算.ppt_第2页
第2页 / 共44页
6.3 Phython 科学计算.ppt_第3页
第3页 / 共44页
6.3 Phython 科学计算.ppt_第4页
第4页 / 共44页
6.3 Phython 科学计算.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、Phython 科学计算Python程序设计基础6.3 Phython 科学计算12Phython与科学 计算NumPy处理数据34matplotlib绘制图表SciPy数值计算库Python程序设计基础1、 Python与科学计算Python语言广泛应用于 科学计算 ,下面 介绍几个常用的 Python科学计算 工具包: NumPy是一个定义了 数值数组和矩阵类型 和它们的基本运算的语言扩展 。 Matplotlib是一个 绘制科学图表 的语言扩展 。 SciPy是另一种使用 NumPy来做高等数学、信号处理、优化、统计和许多其它 科学任务 的语言扩展 。Python程序设计基础NumPy是

2、高性能科学计算和数据分析的基础包。具有矢量算术运算和复杂广播能力的快速且节省空间的 多维数组 。用于对整组数据进行快速运算的 标准数学函数 (无需编写循环)。具有用于读写磁盘数据的工具以及用于操作内存映射文件的工具。具有线性代数、随机数生成以及傅里叶变换功能。 安装 Numpy的方法 导入 Numpy的方法 NumPy处理数据实例2、 NumPy处理数据Python程序设计基础利用 NumPy包可以扩充 Python的数据处理能力 , 安装 Numpy的方法可以采用如下命令:(1) NumPy数据导入Pip install numpy利用 NumPy包进行科学运算之前,采用如下命令 导入 nu

3、mpy,其中,as 保留字 与 import 一起使用能够改变后续代码中库的 命名空间 ,有助于提高代码可读性。简单说,在程序的后续部分中, np 代替 numpy:import numpy as npPython程序设计基础一 维数组 import numpy as np nList = np.array(1.0, 2.0, 3.0, 4.0) print(nList) 1. 2. 3. 4. print(type(nList)数组 的类型是 numpy.ndarray 。使用 numpy.array方法以 list或 tuple变量为参数产生一维数组。 为命令行中输入的语句,其它的行是控制

4、台显示的内容。(2) NumPy处理 数据实例:Python程序设计基础二 维数组 import numpy as np nList = np.array(1.0, 2.0,3.0, 4.0) print(nList) 1. 2. 3. 4.以 list或 tuple变量为元素产生二维数组:生成数组的时候,可以 指定数据类型 ,例如numpy.int32, numpy.int16, and numpy.float64等: print(np.array(1.2,2,3,4, dtype=np.int32)1 2 3 4Python程序设计基础序列 数组 import numpy as np nL

5、ist1 = np.arange(15) print(nList1) 0 1 2 ., 12 13 14 nList2 = np.arange(15).reshape(3,5) print(nList2) 0 1 2 3 4 5 6 7 8 910 11 12 13 14 print(type(nList1),type(nList2)使用 numpy.arange方法可以产生一个 序列 ,对于一个生成的numpy.ndarray变量,还可以使用它自身的 reshare方法 变成多维 数组:Python程序设计基础等差 序列数组 import numpy as npprint(np.linspa

6、ce(1, 3, 9) 1. 1.25 1.5 1.75 2. 2.25 2.5 2.75 3. 使用 numpy.linspace方法可以产生具有一定间隔的数列。例如,在从 1到 3中产生 9个数:Python程序设计基础特定 的矩阵 print(np.zeros(3,4) 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. print(np.ones(3,4) 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. print np(eye(3) 1. 0. 0. 0. 1. 0. 0. 0. 1. 使用 numpy.zeros, numpy.ones,

7、numpy.eye等方法可以构造特定的矩阵。 zeros产生零矩阵, ones产生全为1的矩阵, eye产生单位阵 。Python程序设计基础获取 数组的属性 import numpy as npa = np.zeros(2,2,2) print(a.ndim) #数组的维数3 print(a.shape) #数组每一维的大小(2, 2, 2) print(a.size) #数组的元素数8 print(a.dtype) #元素类型float64 print(a.itemsize) #每个元素所占的字节数8Python程序设计基础数组 索引,切片和替换元素 import numpy as np

8、a = np.array( 2,3,4,5,6,7 ) print(a)2 3 45 6 7 print(a1,2) #访问第 2行第 3列的元素7 print(a1,:) #访问第 2行的所有元素5 6 7 print a1,1:3 #访问第 2行 1,3)列的元素,即 1, 2列6 7 a1,: = 8,9,10 #替换第 2行的所有元素 print a 2 3 4 8 9 10Python程序设计基础 import numpy as np a = np.ones(2,2) b = np.eye(2) print(a) 1. 1. 1. 1. print(b) 1. 0. 0. 1.基本

9、的数组 运算先构造数组 a、 b, a是 2*2的全 1数组, b是单位阵:演示 对数组的加减乘除运算 :print(a 2)False FalseFalse False print(a+b) 2. 1. 1. 2. print(a-b) 0. 1. 1. 0. print(b*2) 2. 0. 0. 2. print(a*2)*(b*2) 4. 0. 0. 4. print(b/(a*2) 0.5 0. 0. 0.5 print(a*2)*4) 16. 16. 16. 16.print(a.sum() 4.0print(b.min() 0.0print(b.max() 1.0Python程序

10、设计基础 print(np.dot(a,b) 1. 1. 1. 1.基本 的矩阵运算矩阵的点乘:矩阵的转置运算: a = np.array(1,0,2,3) print(a)1 02 3 print(a.transpose()1 20 3矩阵的叉乘 : print(np.cross(a,b)-1. 1.计算矩阵的迹: print(np.cross(a,b)-1. 1.Python程序设计基础 import numpy as np import numpy.linalg as nplg a = np.array(1, 0, 2, 3) print(a)1 02 3 print(nplg.eig(

11、a)(array( 3., 1.), array( 0. , 0.70710678, 1. , -0.70710678)计算矩阵的特征值和特征向量。 numpy.linalg模块中有很多关于矩阵运算的方法,比如特征值和特征向量就是使用 numpy.linalg.eig方法:基本 的矩阵运算Python程序设计基础适合 交互式 地进行制图。而且也 可以将 它作为 绘图控件 ,嵌入 GUI应用程序中 利用。 安装 matplotlib的方法 导入 matplotlib的方法 matplotlib常用的 函数 matplotlib绘制图表例子3、 matplotlib绘制图表Python程序设计基础

12、适合交互式地进行制图。而且也 可以将 它作为绘图控件,嵌入 GUI应用程序中 利用。 安装 matplotlib的 方法 可以采用如下命令 :matplotlib绘制图表Pip install matplotlib利用 matplotlib包 进行科学运算之前,采用如下命令导 入 matplotlib , 其中,as 保留字与 import 一起使用能够改变后续代码中库的命名空间,有助于提高代码可读性。简单说,在程序的后续部分中 , plt 代替 matplotlib.pyplot : import matplotlib.pyplot as pltPython程序设计基础matplotlib常

13、用的函数(1) figure( plt.figure(figsize=(width,height)): 作用 新建绘画窗口 ,独立显示绘画的图表。调用 figure创建一个绘图对象,并且使它成为当前的绘图对象 。 figsize参数:指定绘图对象的宽度和高度,单位为英寸; dpi参数指定绘图对象的分辨率 ,缺省值为 80。因此本例中所创建的图表窗口的宽度为 8*80 = 640像素。plt.figure(figsize=(8,4)Python程序设计基础matplotlib常用的函数(2) plot( x, , y, format_string, *kwargs ): 用于 在 Figure中

14、显示图形 ,参数 的 x为横轴数据,可为列表或数组。 y是纵轴数据,也是列表或者数组。 format_string为控制曲线的格式字符串,是可选项。 *kwargs为第二组数据或更多的( x, y, format_string)。 format_string:控制曲线的格式,是由 颜色字符、风格字符和标记字符 组成。plt.plot(1,2,3,4, 1,4,9,16, ro)Python程序设计基础matplotlib常用的函数(2) plot( x, , y, format_string, *kwargs ) 中 format string为控制曲线的格式,格式包括颜色、线条类型等。 颜色

15、字符 风格字符 标记字符Python程序设计基础matplotlib常用的 函数 plot的格式控制字符 颜色字符颜色字符 说明 颜色字符 说明b 蓝色 m 洋红色 magentag 绿色 y 黄色r 红色 k 黑色c 青绿色 w 白色#008000 RGB某颜色 0.8 灰度值字符串Python程序设计基础matplotlib常用的 函数 plot的格式控制字符 风格字符风格字符 说明 实线 破折线. 点划线: 虚线 无线条Python程序设计基础matplotlib常用的 函数 plot的格式控制字符 标记 字符标记字符 说明 标记字符 说明 标记字符 说明. 点标记 1 下花三角标记 h

16、 竖六边形标记, 像素标记 (极小点 ) 2 上花三角标记 H 横六边形标记o 实心圈标记 3 左花三角标记 + 十字标记v 倒三角标记 4 右花三角标记 x x标记 上三角标记 s 实心方形标记 D 菱形标记 右三角标记 p 实心五角标记 d 瘦菱形标记 import numpy as np a = np.ones(2,2) b = np.eye(2) print(a) import matplotlib.pyplot as pltfrom matplotlib import font_manager zh_font = font_manager.FontProperties(fname=c

17、:WindowsFontssimhei.ttf, size=14)plt.figure(figsize=(10,9)plt.plot(1, 2, 3)plt.xlabel(横坐标说明 , fontproperties=zh_font)plt.ylabel(纵坐标说明 , fontproperties=zh_font)plt.show() 1. 1. 1. 1. print(b) 1. 0. 0. 1.Matplotlib绘图实例 例 1. 绘制 简单的数据图表:运行结果Python程序设计基础例 2 指定 红色圆点的 图表运行结果Python程序设计基础例 3. 绘制 子图运行结果Python

18、程序设计基础例 4.图表标注文字运行结果Python程序设计基础SciPy函数库在 NumPy库的基础上增加了众多的 数学、科学以及工程计算 中常用的库函数。例如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等 。 最小 二乘 拟合 函数最小值 非线性 方程组 求解 雅可比矩阵 B-Spline样条曲线 数值积分4、 SciPy数值计算库Python程序设计基础最小二乘法最小二乘法 (又称最小平方法)是一种数学优化技术。它通过 最小化误差的平方和 寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于 曲线拟合 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报