首页 > 数据库 > 其他综合 > 正文
2.3.2 Scipy
2015-12-11 15:59:50     我来说两句      
收藏    我要投稿

如果说Numpy让Python有了Matlab的味道,那么Scipy就让Python真正地成为了半个Matlab了。

Numpy提供了多维数组功能,但它只是一般的数组,并不是矩阵。例如,当两个数组相乘时,只是对应元素相乘,而不是矩阵乘法。Scipy提供了真正的矩阵,以及大量基于矩阵运算的对象与函数。

Scipy包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算,显然,这些功能都是挖掘与建模必备的。

Scipy依赖于Numpy,因此安装它之前得先安装Numpy。安装Scipy的方式与安装Numpy的方法大同小异,需要提及的是,在Ubuntu下也可以用类似的

sudo apt-get install python-scipy

安装Scipy。安装好Scipy后,可以通过以下命令简单试用。

代码清单2-2 Scipy求解非线性方程组和数值积分

# -*- coding: utf-8 -*
#求解非线性方程组2x1-x2^2=1,x1^2-x2=2
from scipy.optimize import fsolve #导入求解方程组的函数
def f(x): #定义要求解的方程组
  x1 = x[0]
  x2 = x[1]
  return [2*x1 - x2**2 - 1, x1**2 - x2 -2]

result = fsove(f, [1,1]) #输入初值[1, 1]并求解
print(result) #输出结果,为array([ 1.91963957,  1.68501606])

#数值积分
from scipy import integrate #导入积分函数
def g(x): #定义被积函数
  return (1-x**2)**0.5

pi_2, err = integrate.quad(g, -1, 1) #积分结果和误差
print(pi_2 * 2) #由微积分知识知道积分结果为圆周率pi的一半

参考链接:

http://www.scipy.org/。

http://reverland.org/python/2012/08/24/scipy/。

点击复制链接 与好友分享!回本站首页
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.3.1 Numpy
下一篇:2.3.3 Matplotlib
相关文章
图文推荐
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站