Python科学计算库Scipy入门必看教程

美女程序员鼓励师

1.Scipy介绍

Scipy在Numpy的基础上则加了众多的数学计算,科学计算以及工程计算中常用的模块,例如线性代数,常微分方程的数值求解,信号处理,图像处理,系数矩阵等。在本章中,将通过实例介绍Scipy中常用的的一些模块。为了方便读者理解,在示例程序中使用matplotlib,TVTK以及Mayavi等扩展绘制二维以及三维图表。

Scipy的special模块是一个非常完整的函数库,其中包含了基本数学函数,特殊数学函数以及Numpy中出现的所有函数。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。

2.Scipy是由针对特定任务的子模块组成:


3.SciPy-数值计算库

import numpy as np

import pylab as pl

import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['SimHei']

import scipy

scipy.__version__#查看版本

'1.0.0'

4.常数和特殊函数

from scipy import constants as C

print (C.c) # 真空中的光速

print (C.h) # 普朗克常数

299792458.0

6.62607004e-34

C.physical_constants["electron mass"]

(9.10938356e-31, 'kg', 1.1e-38)

# 1英里等于多少米, 1英寸等于多少米, 1克等于多少千克, 1磅等于多少千克

print(C.mile)

print(C.inch)

print(C.gram)

print(C.pound)

1609.3439999999998

0.0254

0.001

0.45359236999999997

import scipy.special as S
print (1 + 1e-20)

print (np.log(1+1e-20))

print (S.log1p(1e-20))

1.0

0.0

1e-20

m = np.linspace(0.1, 0.9, 4)

u = np.linspace(-10, 10, 200)

results = S.ellipj(u[:, None], m[None, :])

print([y.shape for y in results])

[(200, 4), (200, 4), (200, 4), (200, 4)]

#%figonly=使用广播计算得到的`ellipj()`返回值

fig, axes = pl.subplots(2, 2, figsize=(12, 4))

labels = ["$sn$", "$cn$", "$dn$", "$\phi$"]

for ax, y, label in zip(axes.ravel(), results, labels):    

    ax.plot(u, y)    

    ax.set_ylabel(label)    

    ax.margins(0, 0.1)

    

axes[1, 1].legend(["$m={:g}$".format(m_) for m_ in m], loc="best", ncol=2);

以上是 Python科学计算库Scipy入门必看教程 的全部内容, 来源链接: utcz.com/z/543175.html

回到顶部