|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uqHZau 于 2020-11-12 15:44 编辑
% k) U% [: _* V( ^8 t
$ o, r- h8 D9 pMATLAB和Python都是解释性语言,如何将代码从MATLAB转换为Python呢,这就需要numpy了。% G0 Z/ o( {3 o9 t8 [
# A. `8 ?0 c4 Y, \5 |5 a% L
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。
# ~$ h h+ t U/ H$ b: K; k' c
( {$ G9 D: J1 W) A6 v下面对numpy中的操作进行总结。, I( j/ ?; T; V4 S/ [; Q9 a: E
numpy包含两种基本的数据类型:数组和矩阵。4 k8 Q- X) F+ g- J, r. t- Z
3 u- x- M5 H- X4 j: @4 w7 Q- A- >>> 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])
2 [; i" B. |3 w% p- M 9 H# J. ~, P& I" X- t
+ ^( S3 o: [9 N$ f7 K
数组创建:
! @: W- a9 r! ^
. Z2 W& A7 |' ~5 I+ k1 ?- 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]]"
8 F( [% J' m# F$ C) y6 m; f- L 5 k2 }: G- Y2 n
1 K6 J- z6 }/ o" N! `6 O
数组对象的属性:' m0 c- y% |( [. l8 C! j
% h9 M! V' g# F, l9 O
( w4 y! s: a* @" [" s* f) U6 Q/ ? Y; ]
4 i# u/ V, f0 O6 T) d r数组对象的方法:
9 K) m! a: R# ?6 N" c4 Z
4 ]" e R) ]8 o9 I
7 D P9 H& F- |& t
7 P; A* T$ t! I1 Q9 O- r
2 C: X7 w# ]0 ` C7 p# |; {% \
% z7 }' W; {7 m% k) F ^ |
|