|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uqHZau 于 2020-11-12 15:44 编辑 * V. @" {/ l7 K e! ~
5 R, ~, K4 C! v! T0 D! W! I5 \$ tMATLAB和Python都是解释性语言,如何将代码从MATLAB转换为Python呢,这就需要numpy了。
+ r0 u2 ?4 C6 s! y! Z; q6 ?. [# d' g6 E7 o2 S: x, Z! w/ P" G3 G; Y) _# _2 H& ~
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。
& F7 I' t: ~. r2 G$ y
+ A4 W# n4 ^4 e) n下面对numpy中的操作进行总结。3 K. l- e! {' V. V$ h7 C# R( @
numpy包含两种基本的数据类型:数组和矩阵。
$ G1 z" D( k+ G2 V
" [% R% F+ w1 ]1 g9 I# t Q$ S! y- >>> 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])# W4 p- ]& C# V2 \
$ w, X1 H/ {6 Z
. r$ L! A9 G( A
数组创建:1 Q: A/ M- ?5 X/ Y% m! F. H" o
+ {5 i0 V4 m! d9 q m' ~2 o
- 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]]"
- u4 w. a, h4 v1 K2 z6 m
2 E! @8 [6 r3 F, b3 W' Z5 u' D: p+ S0 n! \: P" a0 N: H7 g; k$ k
数组对象的属性:
- `0 K7 \ T9 L! f1 O- W. M+ v* F. c2 h" T9 [
$ h1 L4 j* @5 A. E9 `
/ B2 H- V3 Z; G1 O, w数组对象的方法:3 I( R8 L9 r$ ^( G$ F* E, D9 P/ b: t
% u' y1 c: Q9 h. L z: X
5 R: f: Z2 v" n4 A3 d* Q
1 T; H6 y2 N1 Q' G) X- {2 g# V
; p8 w7 X; b) R/ ]7 T; _$ k0 S0 c |
|