python基础代码让你了解Scipy(python代码介绍)

网友投稿 1016 2022-08-16

python基础代码让你了解scipy(python代码介绍)

python基础代码让你了解Scipy(python代码介绍)

SciPy 是一个开源的 Python 算法库和数学工具,Scipy 是基于 Numpy 的科学计算库,用于数学、科学、工程学等领域,很多有一些高阶抽象和物理模型需要使用 Scipy。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

01 文件读写

目前在国内Matlab仍然非常流行,Matlab使用的数据格式通常是.mat文件。对此,Scipy.io包提供了可以导入导出.mat文件的接口,这样,Python和Matlab的协同工作就变得非常容易了。示例代码如下所示:

from scipy import io as spio

import numpy as np

a=np.arange(10)

spio.savemat('a.mat',{'a':a})

data = spio.loadmat('a.mat', struct_as_record=True)

data['a']

Out:

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

02 线性代数运算

在SciPy中,线性代数运算使用的是scipy.linalg。scipy.linalg.det()可用于计算矩阵的行列式,示例代码如下:

from scipy import linalg

m=np.array([[1,2],[3,4]])

linalg.det(m)

Out:

-2.0

03 优化和拟合

求解最大值最小值之类的问题即为优化问题,在SciPy中,scipy.optimization提供了最小值、曲线拟合等算法。示例代码如下:

import numpy as np

from scipy import optimize

import matplotlib.pyplot as plt

def f(x):

return x**2+20*np.sin(x)

x=np.arange(-10,10,0.1)

plt.plot(x,f(x))

由图3-1中可以看到,对应的最小值的横坐标大约是-2。我们可以用暴力穷举法来计算最小值,代码如下

grid=(-10,10,0.1)

x_min=optimize.brute(f,(grid,))

x_min

Out:

array([-1.42754883])

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python学好了之后做什么兼职可以月入过万?(python新手怎么兼职)
下一篇:在python中如何安装管理pip(python怎么安装和运行)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~