特定函数

例贝塞尔函数:

积分

quad,dblquad,tplquad对应单重积分,双重积分,三重积分

from scipy.integrate import quad,dblquad,tplquad

需要传递参数使用args

对于简单函数可知直接使用匿名函数

-Inf和Inf可以表示数值极限

高阶微分的用法相似

常微分方程:

scipy提供了两种方式解常微分方程,基于odeint的API和基于ode类面向对象的API

from scipy.integrate import odeint,ode

求解常微分方程我们需要知道方程f和初始条件y(0)

scipy线性代数:

线性方程组的矩阵形式:

Ax=b  A是矩阵,x和b是向量

from scipy.linalg import *

from numpy.random import *

A=array([[1,2,3],[4,5,6],[7,8,9]])

b=array([1,2,3])

x=solve(A,b)

求矩阵特征值与特征向量

使用eigvals计算矩阵特征值,使用eig同时计算矩阵特征值与特征向量

evals=eigvals(A)

evals,evecs=eig(A)

矩阵运算:

inv(A)

det(A)

稀疏矩阵(矩阵中0多余一半)

有很多表示稀疏矩阵的方式,一般有坐标形式(coo),列表嵌套列表的形式(LIL),压缩列(csc),压缩行(csr)。一般在coo或者LIL下进行初始化,再转成csc或者csr形式。

from scipy.sparse import *

M=array([[1,0,0,0],[0,3,0,0],[...].[...]])

A=csr_matrix(M)将稠密矩阵转化为稀疏矩阵

A.todense()将稀疏矩阵显示出来

创建稀疏矩阵更有效的方法是先创建一个空矩阵,再按索引进行填充。

A=lil_matrix((4,4))

A[0,0]=1

...

可以像计算稠密矩阵一样计算稀疏矩阵

最优化

from scipy import *

找到一个最小值

def f(x):

return 4*x**3+(x-2)**2+x**4

fig,ax=subplots()

x=linspace(-5,3,100)

ax.plot(x,f(x))     #画图

可以使用fmin_bfgs找最小值

xmin=optimize.fmin_bfgs(f,-2)

也可以使用brent和fminbound函数

找到方程的解

为了找到f(x)=0的根,我们需要使用fsolve,它需要一个初始的预测值

scipy科学计算库的更多相关文章

  1. SciPy - 科学计算库(上)

    SciPy - 科学计算库(上) 一.实验说明 SciPy 库建立在 Numpy 库之上,提供了大量科学算法,主要包括这些主题: 特殊函数 (scipy.special) 积分 (scipy.inte ...

  2. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

  3. windows下如何快速优雅的使用python的科学计算库?

    Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy.pandas和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些 ...

  4. 科学计算库Numpy基础&提升(理解+重要函数讲解)

    Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层 ...

  5. python科学计算库的numpy基础知识,完美抽象多维数组(原创)

    #导入科学计算库 #起别名避免重名 import numpy as np #小技巧:从外往内看==从左往右看 从内往外看==从右往左看 #打印版本号 print(np.version.version) ...

  6. python科学计算库numpy和绘图库PIL的结合,素描图片(原创)

    # 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object): def ...

  7. numpy科学计算库的基础用法,完美抽象多维数组(原创)

    #起别名避免重名 import numpy as np #小技巧:print从外往内看==shape从左往右看 if __name__ == "__main__": print(' ...

  8. ubuntu14.04 下安装 gsl 科学计算库

    GSL(GNU Scientific Library)作为三大科学计算库之一,除了涵盖基本的线性代数,微分方程,积分,随机数,组合数,方程求根,多项式求根,排序等,还有模拟退火,快速傅里叶变换,小波, ...

  9. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

随机推荐

  1. sketchup

    1. clean start 1. 删除中间人物 2. windows---style 3. Windows---Model Info 2. 好的建模习惯 1. 正面朝镜头 View---ToolBa ...

  2. CSS的Hack技术

    主要是用来解决兼容性的特殊方法: IE都能识别*;标准浏览器(如FF)不能识别*: IE6能识别*,但不能识别 !important, IE7能识别*,也能识别!important,还有# FF不能识 ...

  3. Qt中新建类构造函数的初始化参数列表

    使用Qt-creator自动生成一个窗体应用程序时会自动创建一个新的类,我的程序中名为MyDialog,类的定义为: #ifndef MYDIALOG_H #define MYDIALOG_H #in ...

  4. JS base64 加密和 后台 base64解密(防止中文乱码)

    直接上代码 1,js(2个文件,网上找的)  不要觉的长,直接复制下来就OK //UnicodeAnsi.js文件 //把Unicode转成Ansi和把Ansi转换成Unicode function ...

  5. lua元表与元方法

    lua中提供的元表(metatable)与元方法(metamethod)是一种非常重要的语法,metatable主要用于做一些类似于C++重载操作符式的功能. lua中提供的元表是用于帮助lua变量完 ...

  6. Jquery父页面和子页面的相互操作

    //父页面调用子页面Add函数 $("iframe")[0].contentWindow.Add() //父页面对子页面Id为Sava的Dom元素执行一次单击操作 $(" ...

  7. 第一章-第五题(你所在的学校有计算机科学专业和软件工程专业么?相关专业的教学计划和毕业出路有什么不同?阅读有关软件工程和计算机科学的区别的文章,谈谈你的看法。)--By 侯伟婷

    我所在的本科学校和研究生学校都有计算机科学专业和软件工程专业.具体的教学计划无从得到,所以此情况无从对比,但是我从本科教务处网站找到了计算机科学专业和软件工程专业有关专业方面的课程,现列表如下. 表格 ...

  8. 推荐轻量高效无依赖的开源JS插件和库

    目录 图片 布局 音频视频 编辑器 轮播图 弹出层 表单 存储 动画 时间 其它 CDN 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本.demo Lightgalle ...

  9. nginx中相关配置

    #nginx 开启目录浏览 location / { root /data/www/file //指定实际目录绝对路径: autoindex on; //开启目录浏览功能: autoindex_exa ...

  10. idea使用心得(2)-安装设置与创建web项目

    idea 是与eclipse齐名的IDE(集成开发工具),以智能闻名,不过对于熟悉eclipse的的用户来说,初次接触idea有些让人搞不清方向,下面介绍一下简单的使用 方式. 1.安装 官网下载ul ...