|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uqHZau 于 2020-11-12 15:44 编辑
. m& v# a6 _, _3 F8 ?6 o7 x) \8 t4 b& m& b- S
MATLAB和Python都是解释性语言,如何将代码从MATLAB转换为Python呢,这就需要numpy了。+ R: ]& Z$ Q' N/ D% g
) |/ x$ T2 H5 M. l5 W
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。
2 J; R. w3 ^. q# C+ Z# j& s' C+ j" n% ^! ~- d
下面对numpy中的操作进行总结。
( Z: q( m+ w4 s4 U2 y6 P2 h7 e6 Tnumpy包含两种基本的数据类型:数组和矩阵。" N- l8 |) G$ a: x# H% r/ L. `
4 ~- `- K3 U5 X; g- >>> 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])
" J3 H3 A7 S: S+ ]" J
7 z! a) W) L; ]0 z" \3 J- f& S4 n5 u# X' H* F- w2 L
数组创建:# o. n. H8 ]* Z3 u# v. Q K+ `
* ~/ ?6 r% G( P) N! u' D- 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]]"
3 z4 ~& B# {. U/ g" s: r) m 0 v9 f1 c1 I, N+ B4 r
$ W: P& A f8 g3 t: E1 y
数组对象的属性:( C. i4 h$ [, @ X
0 i. E$ u+ G& ?+ i7 C
" T3 k y- u7 V1 N o. ]
3 r d/ _: U B" C! z数组对象的方法:
$ a! w" G9 p8 j4 c; W) }# c h& b' d# f' f% ]( z% n) J8 }( [8 a0 [
+ w: w9 d; x' [$ I
1 \& @- G7 R: ?/ A+ |* `; q) K; S1 w# t0 C7 m: r9 B M
- P* n: P2 S) l |
|