|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uqHZau 于 2020-11-12 15:44 编辑 , t2 b+ w# o( v7 O: ^! T/ I2 O/ N
* }; _ K. P6 ~$ L u* V0 f
MATLAB和Python都是解释性语言,如何将代码从MATLAB转换为Python呢,这就需要numpy了。
. r' j8 D7 g$ r6 p T0 j' O- J/ v& `5 G4 [: x
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。
8 O: i8 k& H/ T8 Q9 y: v, Y( J# z
下面对numpy中的操作进行总结。
/ i( a* Q- b6 A9 j, g& inumpy包含两种基本的数据类型:数组和矩阵。6 \; Q" s+ U) o/ W6 f' s2 r
" n: l* a/ z1 V2 B. K' `( P/ J* \
- >>> 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])7 A. V& Q1 L% X) w+ N" Y0 Q
6 n+ U7 ]1 s6 e& X
: o# X5 d% R& x4 Z" S3 t( k! I8 k数组创建:
3 A' K7 y( g+ z7 B
* R. T, Z/ j3 y6 G/ a% E- 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]]"$ M* E5 W0 t0 O# y0 W
0 S3 I3 B" r0 F0 p$ }% {5 V N
2 m; H0 Q( P. `数组对象的属性:) q. i! g# d. L6 o v' N4 ?* G
6 Z3 K% p5 P7 g- X2 A* W p- f
8 t- h5 |; S( O$ H% K- c: {0 H/ L
+ a- [! @ p& Q# K% V' x6 _$ K数组对象的方法:* r J8 L4 { c; h/ K
& t/ Q$ y' g" h
$ ^$ a6 H g" w8 i
" I- n* [. O+ v
! l! V% ?9 J; v/ \; e& x" D- [+ V4 S0 d! M( W
|
|