MATLAB和Python都是解释性语言,如何将代码从MATLAB转换为Python呢,这就需要numpy了。
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。
下面对numpy中的操作进行总结。
numpy包含两种基本的数据类型:数组和矩阵。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  | 
						>>> from numpy import * >>> a1=array([1,1,1])    #定义一个数组 >>> a2=array([2,2,2]) >>> a1+a2                #对于元素相加 array([3, 3, 3]) >>> a1*2                 #乘一个数 array([2, 2, 2]) ## >>> a1=array([1,2,3]) >>> a1 array([1, 2, 3]) >>> a1**3              #表示对数组中的每个数做平方 array([ 1,  8, 27]) ##取值,注意的是它是以0为开始坐标,不matlab不同 >>> a1[1] 2 ##定义多维数组 >>> a3=array([[1,2,3],[4,5,6]]) >>> a3 array([[1, 2, 3],        [4, 5, 6]]) >>> a3[0]             #取出第一行的数据 array([1, 2, 3]) >>> a3[0,0]           #第一行第一个数据 1 >>> a3[0][0]          #也可用这种方式 1 ##数组点乘,相当于matlab点乘操作 >>> a1=array([1,2,3]) >>> a2=array([4,5,6]) >>> a1*a2 array([ 4, 10, 18])  | 
					
数组创建:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  | 
						import numpy as np a = np.zeros((2,2))  # Create an array of all zeros print a              # Prints "[[ 0.  0.]                      #          [ 0.  0.]]" b = np.ones((1,2))   # Create an array of all ones print b              # Prints "[[ 1.  1.]]" c = np.full((2,2), 7) # Create a constant array print c               # Prints "[[ 7.  7.]                       #          [ 7.  7.]]" d = np.eye(2)        # Create a 2x2 identity matrix print d              # Prints "[[ 1.  0.]                      #          [ 0.  1.]]" e = np.random.random((2,2)) # Create an array filled with random values print e                     # Might print "[[ 0.91940167  0.08143941]                             #               [ 0.68744134  0.87236687]]"  | 
					
数组对象的属性:

数组对象的方法:







