python科学计算库-Scipy,主要讲解优化,方程求解,积分,蒙特卡洛,插值计算
文章目录
- 简介
- 优化Optimization and root finding
- 解方程
- 稀疏矩阵求解
- 各类积分计算
- 蒙特卡洛
- 插值
听说点进蝈仔帖子的都喜欢点赞加关注~~
老规矩,官网附上,建议大佬直接看官网
https://www.scipy.org/
鸣谢:
https://zhuanlan.zhihu.com/p/38160864
https://www.jianshu.com/p/6c742912047f
简介
SciPy 是一个开源的 Python 算法库和数学工具包。
Scipy 是基于 Numpy 的科学计算库,用于数学、科学、工程学等领域,很多有一些高阶抽象和物理模型需要使用 Scipy。
单独安装方法:
注:安装numpy则无需单独安装scipy
SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
优化Optimization and root finding
给一个例子,内容太多了,大家自己看
from scipy.optimize import minimizedef eqn(x):return x**2 + x + 2mymin = minimize(eqn, 0, method='BFGS')print(mymin)
再来一个官方的介绍把。
scipy.optimize.minimize(fun, x0, args=(), method='Nelder-Mead', bounds=None, tol=None, callback=None, options={'func': None, 'maxiter': None, 'maxfev': None, 'disp': False, 'return_all': False, 'initial_simplex': None, 'xatol': 0.0001, 'fatol': 0.0001, 'adaptive': False})
再给一个带结果的
# 定义要优化的函数,输入优化变量和参数
def f1(x,para):return (x[0]**2+x[1]**2+para)
res = optimize.minimize(f1,[10,10],args=(20),method = 'SLSQP')
fun: 20.0jac: array([0., 0.])message: 'Optimization terminated successfully.'nfev: 9nit: 2njev: 2status: 0success: Truex: array([0., 0.])
解方程
Scipy中也有专门的函数来求解方程。求解方程方法fsolve()可以是多个等式的或者单个等式。
import math
def f(x):return [5*x[1]+3,4*x[0]**2 - 2*math.sin(x[1]*x[2]),x[1]*x[2] - 1]
optimize.root(f,[1,2,2])
或者
scipy.linalg.solve(a, b, sym_pos=False, lower=False, overwrite_a=False, overwrite_b=False, debug=None, check_finite=True, assume_a='gen', transposed=False)
稀疏矩阵求解
from scipy.sparse import csc_matrix
from scipy.sparse.linalg import spsolve
A = csc_matrix([[3, 2, 0], [1, -1, 0], [0, 5, 1]], dtype=float)
B = csc_matrix([[2, 0], [-1, 0], [2, 0]], dtype=float)
x = spsolve(A, B)
np.allclose(A.dot(x).toarray(), B.toarray())
True
各类积分计算
scipy.integrate.quad(func, a, b, args=(), full_output=0, epsabs=1.49e-08, epsrel=1.49e-08, limit=50, points=None, weight=None, wvar=None, wopts=None, maxp1=50, limlst=50)
蒙特卡洛
插值
方法太多了,大家慢慢探索。
python科学计算库-Scipy,主要讲解优化,方程求解,积分,蒙特卡洛,插值计算相关推荐
- 【Python基础】科学计算库Scipy简易入门
0.导语 Scipy是一个用于数学.科学.工程领域的常用软件包,可以处理插值.积分.优化.图像处理.常微分方程数值解的求解.信号处理等问题.它用于有效计算Numpy矩阵,使Numpy和Scipy协同工 ...
- Tsai笔记:GPOPS学习笔记(1)—— 高斯伪谱法的最基本优化方程求解思路(例子介绍)
Tsai笔记:GPOPS学习笔记(1)-- 高斯伪谱法的最基本优化方程求解思路(例子介绍) Tsai三步.(第一步,基本说明.第二步,结果图显示.第三步,代码展示.) 第一步,基本说明. A.问题说明 ...
- Python稀疏矩阵运算库scipy.sparse用法精要
1.稀疏矩阵的常见存储形式 bsr_matrix(arg1[, shape, dtype, copy, blocksize]) Block Sparse Row matrix coo_matrix(a ...
- Python使用扩展库numpy计算矩阵加权平均值
本文介绍Python扩展库numpy的函数average()的用法. >>> import numpy as np # 创建二维矩阵 >>> x = np.matr ...
- python计算样本方差_Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算...
使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算. variance: 方差 方差(Variance)是概率论中最基础的概念之一, ...
- python方差的计算公式_Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算...
使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算. variance: 方差 方差(Variance)是概率论中最基础的概念之一, ...
- Python线性代数扩展库numpy.linalg中几个常用函数
本文内容节选自董付国老师2000页Python系列课件第17章"数据分析.科学计算.可视化.机器学习"(本章PPT共410页). ----------相关阅读---------- ...
- python爬取视频自动播放_介绍一个python视频处理库:moviepy
处理视频是一个常见的需求.那么在python中如何用代码处理视频呢?最近我无意间发现了一个很好用的python视频处理库moviepy,其使用起来简单易用,而且功能比较强大,这里记录一下分享给大家. ...
- 坐标轨迹计算_【老杨讲坛】737NG无系留最大风速限制的插值计算
点击上方海航技术小蓝字,即可关注官方微信 老杨讲坛第三十七期 -老杨说- 小伙伴们,大家好,新一期的<老杨讲坛>又和大家见面啦!经历海口近期高温的炙烤和大风的考验,小编是多么怀念微风吹拂的 ...
- 降雨插值_ArcGIS计算土壤侵蚀模数(二)降雨侵蚀力因子R计算
本次采用中国土壤流失方程CSLE计算土壤侵蚀模数,计算公式为: A=RKLSBET 式中,式中:A-土壤侵蚀模数.t·hm-2a-1:R-降雨侵蚀力因子,MJ·mm·hm-2·h-1·a-1:K-土壤 ...
最新文章
- HDU - 3065 病毒侵袭持续中(AC自动机)
- DNN:LSTM的前向计算和参数训练
- 设计模式系列之单例模式(java)
- linux环境下用TcpDump抓包分析总结
- 使用Maven程序集创建漏洞评估工件
- java水印图片_JAVA实用案例之图片水印开发
- 【Java】使用前准备工作配置环境变量
- 苹果系统c语言打开文件夹,MAC系统硬盘文件夹详解
- cart算法_【统计学】决策树模型大比拼!ID3/C4.5/CART算法哪个更好用?
- linux修改shell前缀,Linux shell控制台改变显示前缀
- 《Towards Conversational Recommendation over Multi-Type Dialogs》解读,融合多个对话类型的对话式推荐
- 【设计模式】- 观察者模式
- VirtualBox安装虚拟机全过程
- 20200614在ubuntu20.04的本地编译全志R系列的步骤20
- 科学计数法和有效数字
- c语言使用格里高利求pi,用c语言编写程序4.ppt
- QA和QC,傻傻分不清?
- G.7xx:视频/音频压缩协议(Audio/Voice Compression Protocols)
- java修复工具_jar包修复工具箱
- 获取所有部门中员工薪水最高的相关信息
热门文章
- c语言ic卡读写软件,IC卡读写工具|ACR122U写卡软件下载 v3.7 免费版_最火软件站
- 【自动控制原理】 时域分析法
- 差速转向机器人数学模型
- Fiddler中文使用教程-AutoResponder
- 【数学建模】2018 A题 高温作业专用服装设计(8.22-8.24训练)
- MATLAB通信系统建模与仿真
- 如何在 React Native 中使用 NFC 标签
- 杰控连接mysql_杰控FameView在数据库连接和查询方面的应用
- Python3自动生成MySQL数据字典的markdown文本的实现
- 《结构方程模型及其应用》学习笔记0504第一、二章