这篇文章给大家分享的是有关python科学计算常用的数学科学计算库是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。
1.numpy(高效多维数据表示)
NumPy数组可以将许多数据处理任务表述为简洁的数组表达式,否则需要编写循环。用数组表达式代替循环的做法,通常被称为矢量化。通常矢量化数组运算要比等价的纯Python方式快上一两个数量级,尤其是各种数值计算。
假设我们想要在一组值(网格型)上计算函数sqrt(x^2 + y^2)。np.meshgrid()函数接受两个一维数组,并产生两个二维矩阵,对应于两个数组中所有的(x, y)对。
points = np.arange(-5, 5, 0.01) #1000个间隔相等的点。xs, ys = np.meshgrid(points, points)z = np.sqrt(xs ** 2 + ys ** 2)
2.scipy(数值计算)
Scipy在Numpy的基础上则加了众多的数学计算,科学计算以及工程计算中常用的模块,例如线性代数,常微分方程的数值求解,信号处理,图像处理,系数矩阵等。在本章中,将通过实例介绍Scipy中常用的的一些模块。为了方便读者理解,在示例程序中使用matplotlib,TVTK以及Mayavi等扩展绘制二维以及三维图表。
Scipy的special模块是一个非常完整的函数库,其中包含了基本数学函数,特殊数学函数以及Numpy中出现的所有函数。
伽马(gamma)函数γ时概率统计学中经常出现的一个函数,它计算公式如下:
显然这样计算起来特别的麻烦,幸运的是。scipy.special中有内置的gamma模块。
>>> import scipy.special as S >>> S.gamma(4) 6.0 >>> S.gamma(0.5) 1.7724538509055159 >>> S.gamma(1+1j) (0.4980156681183554-0.15494982830181081j) >>> S.gamma(1000) inf
Γ(z)函数时结成函数在实数和复数系上的扩展,他的增长速度特别的块,1000的阶乘就超过了双精度浮点数的表示范围,因此结果就是无穷大。为了计算更大的范围可以使用gammaln()计算ln(|Γ(x)|)的只,它使用特殊的算法,能够直接计算Γ函数的对数值,因此可以表示更大的范围。
3.sympy(符号计算)
SymPy是Python的一个数学符号计算库。它目的在于成为一个富有特色的计算机代数系统。它保证自身的代码尽可能的简单,且易于理解,容易扩展。SymPy完全由Python写成,不需要额外的库。
Sympy安装
pip install sympy
4.matplotlib(数据可视化)
Matplotlib,是一个Python的2D绘图库,通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等
(1)库的安装和环境的配置
windows下:
py -3 -m pip install matplotlib
linux下:
python3 -m pip install matplotlib
建议配合Jupyter使用。在jupyter notebook中,使用
%matplotlib inline
进入交互页面
(2)设置中文环境
首先引入包:
import numpy as np #之后需要用到 import matplotlib as mpl #设置环境变量 import matplotlib.pyplot as plt #绘图专用 from mpl_toolkits.mplot3d import Axes3D #绘制3D图1234
为了让图片兼容中文的说明、名字等,这里需要:
mpl.rcParams['font.sans-serif'] = ['FangSong'] mpl.rcParams['axes.unicode_minus']=False
感谢各位的阅读!关于“python科学计算常用的数学科学计算库是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。