python科学计算基础知识

1、导入基本函数库

import numpy as np

2、获取矩阵元素字节数

1 a=np.array([1,2,3],dtype=np.float32)
2 a.itemsizeoutput: 4

3、获取数组维数A.shape

例如

1 a=np.array([[1,2,3],[4,5,6]]);
2
3 a.shape
4
5 output:(2,3)

4、选取某一行或某一列元素,

注意numpy中数组起始坐标是0开始的,跟matlab中有区别。matlab中是从1开始的。

python中列表[start,end,step],有开始数、终止数、步长;而matlab中是[start:step:end]。

a[:,0],选取第一列

a[0,:],选取第一行

5、numpy中数组赋值时,如果没有超过原始数组维数时,只将引用赋值,而不是复制赋值。

如果想要进行复制,需要使用函数B=A.copy(),与matlab有区别例如:

 1 import numpy as np
 2 b=np.ones((3,3))
 3 c=b;
 4 print ‘b\n‘,b
 5 print ‘c:\n‘,c
 6 c[0,0]=12;
 7 print ‘b\n‘,b
 8 print ‘c:\n‘,c
 9
10 b
11 [[ 1.  1.  1.]
12  [ 1.  1.  1.]
13  [ 1.  1.  1.]]
14 c:
15 [[ 1.  1.  1.]
16  [ 1.  1.  1.]
17  [ 1.  1.  1.]]
18 b
19 [[ 12.   1.   1.]
20  [  1.   1.   1.]
21  [  1.   1.   1.]]
22 c:
23 [[ 12.   1.   1.]
24  [  1.   1.   1.]
25  [  1.   1.   1.]]

6、 2维矩阵matrix,python中matrix只能是二维的。

简单应用,矩阵乘

1 a=np.matrix([[1,2,3],[4,5,6],[7,8,9]]);
2 b=np.matrix([[1],[0],[0]]);
3 a*b
4 matrix([[1],
5         [4],
6         [7]])

也可以使用数组点积表示:

1 A=np.array([[1,2,3],[4,5,6],[7,8,9]])
2 x=np.array([[1],[0],[0]])
3 A.dot(x)
4 array([[1],
5        [4],
6        [7]])

7、当需要将数组转换成矩阵时,要使用np.matrix(A)

例如

1 a=np.ones((3,3));
2
3 b=np.ones((3,1));
4
5 np.matrix(a)*b
6
7 matrix([[ 3.],
8         [ 3.],
9         [ 3.]])
时间: 2024-10-06 12:41:48

python科学计算基础知识的相关文章

Python科学计算之Pandas

Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtWreFWjQbpWweZXp6RRvmmKwW1-Kud3x6OF0czmyPqv*F6KzQ1i-dKhi4D-QvDjp1mFDdqAHLPrCLgMOb1KXJcbbkU5-QAREDarkCaPumjQlORzVAOma541S0X2MGgysuH18DI2567rBcTSkMHPsVf6sxClfB

Python科学计算函数库介绍

数值计算库 NumPy为Python提供了快速的多维数组处理的能力,而SciPy则在NumPy基础上添加了众多的科学计算所需的各种工具包,有了这两个库,Python就有几乎和Matlab一样的处理数据和计算的能力了. NumPy和SciPy官方网址: http://www.scipy.org NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组.它将常用的数学函数都进行数组化,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语

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

背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器学习模块,包括分类.回归.聚类系列算法,主要算法有SVM.逻辑回归.朴素贝叶斯.Kmeans.DBSCAN等,目前由INRI 资助,偶尔Google也资助一点. SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化.线性代数.积分.插值.特殊函数.快速傅里叶变换.信号处理和图像处理.常微分方程求解和其他科学与工程中常用的计算.其功能与软件MA

python科学计算

windows下python科学计算库的下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/(由于C运行库的问题,scipy在linux下可以用pip安装,而windows下不行) matpoltlib:绘图 numpy:矩阵运算 scipy:科学计算,高阶抽象和物理模型 sklearn:科学计算,多种聚类算法. 数据拟合:http://blog.csdn.net/lsldd/article/details/41251583 遗传算法:http://bl

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

用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought是一家位于美国得克萨斯州首府奥斯汀的软件公司,主要使用Python从事科学计算工具的开发.Enthought里面包含了很多库,不需要你自己安装就可以直接使用了. 其实还又很多Python科学计算的集成软件,比如Python(x, y)和WinPython,个人感觉WinPython还是不错的,里面包

linux中安装python科学计算环境-numpy、scipy、matplotlib、OpenCV...

http://blog.csdn.net/pipisorry/article/details/39902327 在Ubuntu中安装numpy.scipy.matplotlib.OpenCV等 和Python(x,y)不一样,在Ubuntu中需要手工安装科学计算的各个模块, 如何安装IPython, NumPy, SciPy, matplotlib, PyQt4, Spyder, Cython, SWIG, ETS, OpenCV: 在Ubuntu下安装Python模块通常可以使用apt-get

目前比较流行的Python科学计算发行版

经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Windows系统中科学免费Python发行版的不二选择.不过今时已不同往昔! PythonXY里面的许多包为了兼容性的问题,无法使用最新的程序包.尤其是令人气愤的是MinGW到现在还是古董级的4.5版本,而TDM-GCC现在都4.8.1-3了.不过这个包在你安装了之后,除了占用较大的磁盘空间之外,基本

Python科学计算(两)——时域波形和正弦信号的频谱

Python科学计算(两)-- 时域和频域波形为正弦波形信号生成.计算和显示 # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as pl import matplotlib import math import random row = 4 col = 4 N = 500 fs = 5 n = [2*math.pi*fs*t/N for t in range(N)] axis_x = np.linspace(

Mac OS X中搭建Python科学计算环境

这个日志也是参考了几位网友的经验(例如这篇日志:http://blog.csdn.net/waleking/article/details/7578517).他们推荐使用Mac Ports这样的软件来管理和安装所有的安装包.按照这里的教程:http://www.macports.org/install.php,需要首先安装Xcode,如果下载网速不好的话,使用浏览器下载可能需要数个小时.这里建议国内的朋友试试迅雷之类的离线下载,可以加速很多.安装好Mac Ports之后,在终端中输入: port