今天在搞定Django框架的blog搭建后,尝试一下python的科学计算能力。
python的科学计算有三剑客:numpy,scipy,matplotlib。
numpy负责数值计算,矩阵操作等;
scipy负责常见的数学算法,插值、拟合等;
matplotlib负责画图。
首先,百度上头三个,依次安装。
可以考虑使用pyhton34/script/easy-install 工具; easy-insatll -m matplotlib;
尝试一下代码,拟合实例;
1 # -*- coding: utf-8 -*-
2 import numpy as np
3 from scipy.optimize import leastsq
4 import pylab as pl
5
6 def func(x, p):
7 # """
8 # 数据拟合所用的函数: A*sin(2*pi*k*x + theta)
9 # """
10 A, k, theta = p
11 return A*np.sin(2*np.pi*k*x+theta)
12
13 def residuals(p, y, x):
14 # """
15 # 实验数据x, y和拟合函数之间的差,p为拟合需要找到的系数
16 # """
17 return y - func(x, p)
18
19 x = np.linspace(0, -2*np.pi, 100)
20 A, k, theta = 10, 0.34, np.pi/6 # 真实数据的函数参数
21 y0 = func(x, [A, k, theta]) # 真实数据
22 y1 = y0 + 2 * np.random.randn(len(x)) # 加入噪声之后的实验数据
23
24 p0 = [7, 0.2, 0] # 第一次猜测的函数拟合参数
25
26 # 调用leastsq进行数据拟合
27 # residuals为计算误差的函数
28 # p0为拟合参数的初始值
29 # args为需要拟合的实验数据
30 plsq = leastsq(residuals, p0, args=(y1, x))
31
32 # print (u"真实参数:")
33 print([A, k, theta])
34 # print (u"拟合参数")
35 print(plsq[0]) # 实验数据拟合后的参数
36
37 pl.plot(x, y0, label=u"real data")
38 pl.plot(x, y1, label=u"data with noisy")
39 pl.plot(x, func(x, plsq[0]), label=u"nihe data")
40 pl.legend()
41 pl.show()
运行提示错误,缺少第三方包,如six,dateutil,pyparsing等,缺什么装什么;第三方包大多直接拖到D:\python34\lib目录下就可以了,很方便。
都装上后,运行成功,如图;
http://www.cnblogs.com/javajava/p/4792791.html
使用Python做科学计算初探(转)的更多相关文章
-
使用Python做科学计算初探
今天在搞定Django框架的blog搭建后,尝试一下python的科学计算能力. python的科学计算有三剑客:numpy,scipy,matplotlib. numpy负责数值计算,矩阵操作等: ...
-
使用python做科学计算
这里总结一个guide,主要针对刚开始做数据挖掘和数据分析的同学 说道统计分析工具你一定想到像excel,spss,sas,matlab以及R语言.R语言是这里面比较火的,它的强项是强大的绘图功能以及 ...
-
Workshop:用Python做科学计算
Python是程序史上最流行的开源语言之一. 仅在官方包索引PyPi上就已经发布了超过10万个开源软件包,而且还有更多的项目. 在SciPy的麾下,有一个成熟的python包生态系统,可以使用Pyth ...
-
windows下如何快速优雅的使用python的科学计算库?
Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy.pandas和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些 ...
-
Python下科学计算包numpy和SciPy的安装
转载自:http://blog.sina.com.cn/s/blog_62dfdc740101aoo6.html Python下大多数工具包的安装都很简单,只需要执行 “python setup.py ...
-
Python的科学计算包matplotlib setup
回想起大学四年 专业一直使用matlab,然而我却没在PC上装成功过,以前懒于思考这种数学工具的作用,直到最近,大学同学研究生要毕业了,几经交流,和自己阅读了一些机器学习的教材之后,发觉科学计算包和画 ...
-
Python下科学计算包numpy和SciPy的安装【原创】
Python下大多数工具包的安装都很简单,只需要执行 "python setup.py install"命令即可.然而,由于SciPy和numpy这两个科学计算包的依赖关系较多,安 ...
-
2019-04-20 Python之科学计算库学习总结
一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成,并可与C++/Fort ...
-
python numpy 科学计算通用函数汇总
import numpy as np #一元函数 #绝对值计算 a = -1b = abs(a)print(b)输出: 1 #开平方计算 a = 4b = np.sqrt(a)print(b)输出: ...
随机推荐
-
T-Sql(五)xml操作
t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...
-
初次使用并安装express
安装 Nodejs 去Nodejs官网根据自己的操作系统下载对应的安装包并安装.我们就有了NodeJS和npm环境.npm是Node的包管理工具,会在安装NodeJS时一并安装.可以用以下命令查看版本 ...
-
C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】
原文地址:http://blog.csdn.net/ldljlq/article/details/7338772 在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇 ...
-
linux下mv命令使用方法
1.作用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中.该命令等同于DOS系统下的ren和move命令的组合.它的使用权限是所有用户.2.格式mv [options] 源文件或目录 目标 ...
-
c# 获取系统时间
//获取日期+时间DateTime.Now.ToString(); // 2008-9-4 20:02:10DateTime.Now.ToLocalTime().ToStrin ...
-
Spring IOC容器中注入bean
一.基于schema格式的注入 1.基本的注入方式 (属性注入方式) 根据setXxx()方法进行依赖注入,Spring只会检查是否有setter方法,是否有对应的属性不做要求 <bean id ...
-
40 JavaScript Chart and Graph Libraries for Developers--reference
reference:http://www.egrappler.com/javascript-chart-and-graph-libraries-for-developers/ BY TEAMEGRAP ...
-
HDU1285——确定比赛名次
Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委 ...
-
C++ Primer 学习笔记_79_模板与泛型编程 --模板编译模型
模板与泛型编程 --模板编译模型 引言: 当编译器看到模板定义的时候,它不马上产生代码.仅仅有在用到模板时,假设调用了函数模板或定义了模板的对象的时候,编译器才产生特定类型的模板实例. 一般而言,当调 ...
-
入门SQL操作
结构化查询语言:SQL:Structured Query Language 分类: 针对的操作对象不同.分成不同的语言: 1.数据操作(管理)语言( DML) 查询:获得数据.(DQL) 管理:增加. ...