作为一个本科学数学专业,目前研究非线性物理领域的研究僧。用什么软件进行纯科学计算好,Fortran永远是第一位的;matlab虽然很强大,可以很容易的处理大量的大矩阵,但是求解我们的模型(有时可能是几万个方程,而且需要演化很长时间才能到达稳态)使用matlab计算是很慢的。Python相对matlab来说,在速度上处于Fortran与matlab中间。

Python处理科学计算只是它很小的一部分功能.python是交互式解释语言,开源的,拥有大量的第三方模块,可以跨平台,网页爬虫,数据挖掘,数据库应用,多媒体应用,Web开发,电子游戏的应用等;对于我这个非计算机专业的,不打算读博,未来想进入互联网的学渣来说,学习python语言是一个很好的选择。

# -*- coding: utf-8 -*-
"""
Created on Tue Nov 01 15:38:10 2016
科学计算,模块numpy,
@author: whb
"""
import numpy
"""
一维数组的建立,索引与切片
"""
a=numpy.arange(5)
arr=numpy.array([numpy.arange(4),numpy.arange(4)])
a=arange(5) #得到一个5个元素的数组;
b=a[1:]#得到第1个元素以后的元素
a[::-1]#反转
"""
多维数组
"""
'建立'
#方法一
two_d_array=array([arange(5),4*arange(5)])
tree_d_array=array([[arange(5),4*arange(5)],[arange(5),4*arange(5)]])
#方法二:使用reshape()与arange()函数结合
two=arange(6).reshape(2,3)
tree=arange(18).reshape(2,3,3)
'操作(索引,复制,删除,替换),展开'
two[:,1]#与matlab相同
two[:,1]=[3,5] #复制
tree[1,...] #得到第二层所有的元素
tree[1,1,:] #得到第二层的第二行的元素
tree[::-1]#将一层的元素与第二层的元素交换
d=tree.ravel() #ravel函数,只是展开,显示。
tree_zk=tree.flatten() #flatten()函数会请求内存保留结果
"""
数组的组合:水平、垂直、深度组合。(vstack,dstack,hstack,column_stack,row_stack)这些函数都是以元组
作为参数
"""
A=arange(9).reshape(3,3)
B=2*A #2乘以A数组中的每一个元素
"水平组合"
A_B=hstack((A,B)) #(A,B)组成一个元组传递给函数hstack()
"垂直组合"
A_B_V=vstack((A,B))
"深度组合"
A_B_d=dstack((A,B))
"""
数组切割:split =hsplit,vsplit,dsplit;
"""
A_split=hsplit(A,3)
A_sp2=vsplit(A,3)
A.tolist() #转为列表
"""
文件读写
"""
eye_1=numpy.eye(2) #创建一个单位矩阵2*2
i=range(17)
numpy.savetxt("w.txt",i)#保存一个数组
##方法二
f=open('f.txt','a') # w,r,a(写入、读取、追加)
for j in range(0,100):
f.write(str(j)+'\n')
f.close()
#读取文件里的内容
#方法一
read_file=open('f.txt','r')
aa=read_file.read()
##方法二loadtxt()函数
tttt=numpy.loadtxt('f.txt') #得到一个数组

Python科学计算—numpy模块总结(1)的更多相关文章

  1. Python科学计算包模块的安装(ubuntu)

    Python的科学计算包设计到C语言代码的编译,采用pip的方式安装会出现错误. 一种简单的方式是采用的集成包,具体的步骤参考:https://www.continuum.io/downloads#_ ...

  2. Python 科学计算涉及模块

    模块1.数据基础 numpy 模块2.数值运算 scipy 模块3.符号运算 sympy 模块4.图形绘制 matplotlib

  3. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  4. Python科学计算基础包-Numpy

    一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...

  5. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

  6. Python科学计算发行版—Anaconda

    Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些模块可能又依赖 ...

  7. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  8. Python 科学计算-介绍

    Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...

  9. Python科学计算的瑞士军刀——Anaconda 安装与配置

    Introduce Python是一种强大的编程语言.其提供了非常多用于科学计算的模块,常见的包含numpy.scipy和matplotlib.要利用Python进行科学计算.就须要一一安装所需的模块 ...

随机推荐

  1. WeMall微信商城签到插件Sign的主要源码

    WeMall微信商城源码签到插件Sign,用于商城的签到系统,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php namespace Ad ...

  2. 1113: [Poi2008]海报PLA

    1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 765  Solved: 466[Submit][Status ...

  3. 使用Eclipse/MyEclipse开发Java程序

    集成开发环境(IDE)是一类软件 将程序开发环境和程序调试环境集合在一起,提高开发效率 下载eclipse安装包网址:http://www.eclipse.org/downloads/ **MyEcl ...

  4. ORM-Dapper学习<一>

    ORM 框架简介 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关 ...

  5. Webdriver初探

    1.启动Firefox浏览器失败 package org.coder.demo; import org.openqa.selenium.*; import org.openqa.selenium.We ...

  6. 通过composer管理工具安装laravel

    当安装好composer管理工具后,将composer的bin目录添加至环境变量中(PATH),方便在任意目录下执行composer命令. 方法1:我们通过laravel工具安装laravel 首先, ...

  7. css3渐变生成器网页

    http://westciv.com/tools/gradients/ http://www.colorzilla.com/gradient-editor/

  8. nodejs npm常用命令 转

    npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准.有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. 1.npm install m ...

  9. 自动部署Nginx和nfs并架设Nginx集群脚本

    本人经过多次尝试,简单完成了自动部署Nginx和nfs脚本,并且能够自动部署web反向代理集群,下面详细的阐述一下本人的思路.(以下脚本本人处于初学阶段,写的并不是很完善,所以需要后期进行整理和修正, ...

  10. dellR720重启找不到启动引导项,手动选择也无用。

    机器重启后显示 no boot device available.(如下图)检查bios中设置也是没问题的,因为装完系统后根本没动过什么.F11手动选择启动项也还是会跳到这里来. 这台机子做的Raid ...