scipy科学计算库
特定函数
例贝塞尔函数:


积分
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科学计算库的更多相关文章
- SciPy - 科学计算库(上)
SciPy - 科学计算库(上) 一.实验说明 SciPy 库建立在 Numpy 库之上,提供了大量科学算法,主要包括这些主题: 特殊函数 (scipy.special) 积分 (scipy.inte ...
- Python科学计算库
Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...
- windows下如何快速优雅的使用python的科学计算库?
Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy.pandas和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些 ...
- 科学计算库Numpy基础&提升(理解+重要函数讲解)
Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层 ...
- python科学计算库的numpy基础知识,完美抽象多维数组(原创)
#导入科学计算库 #起别名避免重名 import numpy as np #小技巧:从外往内看==从左往右看 从内往外看==从右往左看 #打印版本号 print(np.version.version) ...
- python科学计算库numpy和绘图库PIL的结合,素描图片(原创)
# 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object): def ...
- numpy科学计算库的基础用法,完美抽象多维数组(原创)
#起别名避免重名 import numpy as np #小技巧:print从外往内看==shape从左往右看 if __name__ == "__main__": print(' ...
- ubuntu14.04 下安装 gsl 科学计算库
GSL(GNU Scientific Library)作为三大科学计算库之一,除了涵盖基本的线性代数,微分方程,积分,随机数,组合数,方程求根,多项式求根,排序等,还有模拟退火,快速傅里叶变换,小波, ...
- Python科学计算库Numpy
Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...
随机推荐
- 关于 《cocoapods 的taobao的镜像停止更新问题》
cocoapods 的ruby.taobao.org 停止更新了!!!!!! 最近一直在改老项目,突然听伙伴说:cocoapods 的ruby.taobao.org 停止更新了.很是吃惊,遂即闯入:h ...
- 数据结构之KMP算法next数组
我们要找到一个短字符串(模式串)在另一个长字符串(原始串)中的起始位置,也就是模式匹配,最关键的是找到next数组.最简单的算法就是用双层循环来解决,但是这种算法效率低,kmp算法是针对模式串自身的特 ...
- 二维树状数组 BZOJ 1452 [JSOI2009]Count
题目链接 裸二维树状数组 #include <bits/stdc++.h> const int N = 305; struct BIT_2D { int c[105][N][N], n, ...
- 创建DOTA2本地数据库(一)
在APP中,用本地数据库好于频繁的联网去获取相关数据.我使用SQLite作为本地的数据库,比较轻巧. 英雄 首先先建立英雄的数据库,暂时我先只设置ID,name,loaclized_name这三种,我 ...
- Test Driven Development
链接:https://msdn.microsoft.com/zh-tw/library/dn743856.aspx
- Python In Action:一、入门小例子
Python In Action这本书真是有点猛,一开头就来这么个例子: import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame ...
- Objective-O Runtime 运行时初体验
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...
- hihoCoder 1183 连通性一·割边与割点(Tarjan求割点与割边)
#1183 : 连通性一·割边与割点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢 ...
- elasticsearch运维实战之2 - 系统性能调优
elasticsearch性能调优 集群规划 独立的master节点,不存储数据, 数量不少于2 数据节点(Data Node) 查询节点(Query Node),起到负载均衡的作用 Linux系统参 ...
- 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...