找回密码
 注册
关于网站域名变更的通知
查看: 401|回复: 1
打印 上一主题 下一主题

Numpy矩阵、数组操作(MATLAB转Python)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-11-12 15:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 uqHZau 于 2020-11-12 15:44 编辑
1 z  S$ g6 d( [; |1 V" H5 ]
& X; N% ?; v" O' s% J3 L# DMATLAB和Python都是解释性语言,如何将代码从MATLAB转换为Python呢,这就需要numpy了。
3 a8 ^4 c8 N" L
. w; @7 a1 L( x* H' G) |3 pNumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。. K! h" i4 Y+ J

  o7 o7 w/ Q- j/ u8 [下面对numpy中的操作进行总结。; ]* H+ y2 L$ @# E: r" X8 B5 f
numpy包含两种基本的数据类型:数组和矩阵。
7 S! ~$ A+ A. D( [: F7 b1 h% Z
6 D: T; ^: y3 x
  • >>> 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])6 Y8 M7 ?: B, Y7 j& A8 O
  
% @9 b1 A- y) t- M, D5 S
% i5 W% t( s7 Y: J3 y数组创建:" y( ?8 t# F" U2 D  c% X" M+ s

6 V5 X9 O4 X  ]$ P5 c7 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]]"
    9 U+ K: J* P  o) w8 q* m% X3 }
     
2 z8 r4 H( I. h* z$ s- `9 Z# E7 ~8 r; z5 T: l% r
数组对象的属性:
3 F0 f% I3 ?1 u9 Q$ m. X3 V7 f0 x8 u2 e; R

2 j! U* J7 \4 H$ V# s+ c8 n
# r) k7 t. E% p! w6 R8 F数组对象的方法:
3 C5 }; _/ g" G2 Z& k9 l3 ]8 P& b8 X6 H

' ?" K5 c6 L, t% d% i. q2 F- p1 O/ } ! f# m2 F1 \- o- E" e

. A$ W3 @) J9 X% |3 ^* n' ^0 T6 d
/ J  n6 Y9 v0 z* J" T* a0 c% Y

该用户从未签到

2#
发表于 2020-11-12 15:58 | 只看该作者
Numpy矩阵、数组操作(MATLAB转Python)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 03:17 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表