|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uqHZau 于 2020-11-12 15:44 编辑
& A) C& e! L- o0 u% h
# m D: r; [4 I1 |) W% n3 Z, NMATLAB和Python都是解释性语言,如何将代码从MATLAB转换为Python呢,这就需要numpy了。# r2 k+ h9 U) z: q
2 g$ d* d( J) R( [+ y0 N8 n7 D
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。
+ U2 K1 j6 Q1 T) ?: s ^" l6 ]) B3 z, c
下面对numpy中的操作进行总结。$ s- Z, g, ^! A1 H2 A# x3 L& p
numpy包含两种基本的数据类型:数组和矩阵。
' q2 B* g% E4 T; L4 j4 _, k2 [% t* d$ O7 L& u
- >>> 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])
( k6 V5 v. p+ N( l3 d
$ y; R1 g6 y* x0 b
9 w" @4 D0 N/ \% s' i数组创建:
2 X( f2 D( Y5 K$ b' o1 I& U2 W5 Y9 U2 h7 p- T* z+ y# R6 ]
- 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]]"
, T4 q8 M5 E; a; M# ^' y + p" Z- k8 y: N6 v7 z
" y% w6 t. ]+ l) ~/ Q9 T
数组对象的属性:: w! z e( ]" Y$ D
' U" g1 _' H6 O3 I I
( V. u7 |, q z
( D \6 Q9 `9 p v7 u% k数组对象的方法:3 l1 k- y( G4 p+ t. a
6 N' o5 s4 ~- ]/ k
4 X: W" y$ x4 S8 z7 y8 N2 X
7 g6 U2 S: H0 @& D: o+ L% Q
: u% H% x; S4 f+ r6 t8 d; N
# y1 O: o% m# F8 ?( N+ u7 X) l3 N
|
|