中国高校课件下载中心 》 教学资源 》 大学文库

《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算

文档信息
资源类别:文库
文档格式:PPTX
文档页数:26
文件大小:317.02KB
团购合买:点击进入团购
内容简介
《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算
刷新页面文档预览

Python数据分析 第10章 SciPy科学计算基础

第 10 章 SciPy科学计算基础 • Scipy是一款用于数学、科学和工程领域的Python工具包, 可以处理插值、积分、优化、图像处理、常微分方程数值 解的求解、信号处理等问题

10.1 SciPy中的常数与特殊函数 • 1 SciPy的constants模块 • SciPy的constants模块包含了大量用于科学计算的常数。 In[1] from scipy import constants as C print(C.pi) #圆周率 print(C.golden) #黄金比例 print(C.c) #真空中的光速 print(C.h) #普朗克常数 print(C.mile) #一英里等于多少米 print(C.inch) #一英寸等于多少米 print(C.degree) #一度等于多少弧度 print(C.minute) #一分钟等于多少秒 print(C.g) #标准重力加速度 【例10-1】显示constants模块中的常用常数

• 2 SciPy的special模块 • SciPy的special模块包含了大量函数库,包括基本数学函数、特殊函 数以及NumPy中的所有函数。 【例10-2】 special模块中 的常用函数。 from scipy import special as S print(S.cbrt(8)) #立方根 print(S.exp10(3)) #10**3 print(S.sindg(90)) #正弦函数,参数为角度 print(S.round(3.1)) #四舍五入函数 print(S.round(3.5)) print(S.round(3.499)) print(S.comb(5,3)) #从5个中任选3个的组合数 print(S.perm(5,3)) #排列数 print(S.gamma(4)) #gamma函数 print(S.beta(10,200)) #beta函数 print(S.sinc(0)) #sinc函数

10.2 SciPy中的线性代数运算 • SciPy.linalg是SciPy中实现线性代数计算的模块,常用的导入方式为: from scipy import linalg 在NumPy中,矩阵有矩阵类型和二维数组两种表示方法。 (1)数组类型下的基本操作 矩阵类型数据可以用np.mat()或mat.matrix()创建。 【例10-3】矩阵的创建及其简单运算。 from scipy import linalg import numpy as np A = np.mat('[1,2;3,4]') print('A矩阵为:\n',A) print('A的转置矩阵为:\n',A.T) print('A的逆矩阵为:\n',A.I)

10.2 SciPy中的线性代数运算 (2) 矩阵类型下的基本操作 矩阵也可以用二维数组对象表示,数组对象的矩阵操作与矩阵对象有一 定的区别。 【例10-4】数组的创建及其简单运算。 M = np.array([[1,2],[3,4]]) print('M矩阵为:\n',M) print('M的转置矩阵为:\n',M.T) print('M的逆矩阵为:\n',linalg.inv(M)) M矩阵为: [[1 2] [3 4]] M的转置矩阵为: [[1 3] [2 4]] M的逆矩阵为: [[-2. 1. ] [ 1.5 -0.5]]

10.2 SciPy中的线性代数运算 2. 线性方程组求解 除了通过矩阵的逆求解外可以直接使用linalg.solve()函数求解而且效率更高。 【例10-5】线性方程组求解。 1 3 5 10 2 5 1 6 2 4 7 4 x y z             − =                   3 5 10 2 5 6 2 4 7 4 x y z x y z x y z  + + =   + − =   + + = In[5]: from scipy import linalg import numpy as np a = np.array([[1, 3, 5], [2, 5, -1], [2, 4, 7]]) b = np.array([10, 6, 4]) x = linalg.solve(a, b) print(x) Out[5]: [-14.31578947 7.05263158 0.63157895]

3. 行列式的计算 10.2 SciPy中的线性代数运算 行列式是一个将方阵映射到标量的函数。linalg.det()可以计算矩阵的行列式。 【例10-6】矩阵行列式的计算。 In[6]: M = np.array([[1,2],[3,4]]) linalg.det(M) Out[6]: -2.0

10.2 SciPy中的线性代数运算 4. 范数 行列式是一个将方阵映射到标量的函数。linalg.det()可以计算矩阵的行列式。 矩阵范数 含义 Frobenius 矩阵所有元素平方和的平方根 L范数 矩阵中每列元素和的最大值 -1范数 矩阵中每列元素和的最小值 2范数 矩阵的最大奇异值 -2范数 矩阵的最小奇异值 正无穷范数 矩阵每行元素和的最大值 负无穷范数 矩阵每行元素和的最小值 范数是数学上一个类似“长度”的概念。linalg.norm()函数可以计算向量或 矩阵的范数(或者模)。常见范数及其含义见下表。 M = np.array([[1,2],[3,4]]) print('M矩阵为:\n',M) print('M矩阵的L范数为:\n',linalg.norm(M,1)) print('M矩阵的2范数为:\n',linalg.norm(M,2))

5. 特征值求解 10.2 SciPy中的线性代数运算 函数linalg.eig()可以用来求解特征值和特征向量。 In[8]: A = np.array([[1,2],[3,4]]) l,v = linalg.eig(A) print(l) print(v) Out[8]: [-0.37228132+0.j 5.37228132+0.j] [[-0.82456484 -0.41597356] [ 0.56576746 -0.90937671]]

共26页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档