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

在Matlab矩阵中常用的一些操作

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-23 09:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2019-10-23 19:14 编辑
5 T6 m/ u; Y- V3 l' v
( G$ T$ B; f% l  d一、矩阵的表示
  Y. p* i9 G3 e5 G% E
6 U' H+ L0 g4 u% l2 g! H& z
1 ?- o) |% E% h- T3 {: ]/ l/ z
在MATLAB中创建矩阵有以下规则:- m( o7 \9 ~( t" Z# w/ S2 a7 h

+ K2 e1 k7 Y- R: a* C2 r: n
. b+ A) G( @" B: g& n* D; n
a、矩阵元素必须在”[ ]”内;
4 Z  b) k7 }% [$ |0 y
7 X3 R3 e7 p/ [) R0 m9 A
3 g( Y5 J. Z2 }8 {
b、矩阵的同行元素之间用空格(或”,”)隔开;
+ ]  y# J) Q  p# P2 ]! C8 K6 ~/ o6 r3 V6 h/ d! w
4 _. D2 l/ Q  D
c、矩阵的行与行之间用”;”(或回车符)隔开;+ d6 {, W! q8 J1 ^. N' u; p
1 N- x3 w" J$ I7 A; R4 c

0 R) ]) Q- N9 B6 s; [9 [d、矩阵的元素可以是数值、变量、表达式或函数;
$ H" A' h' }# \; x( _/ v- m* g9 S, [1 P" F+ x! `7 M4 Z

4 |9 z5 {( V4 x1 d" Q* k& je、矩阵的尺寸不必预先定义。4 @6 @3 i  M) o* Z/ V, t

! n( O( y9 H# M# d" N' G  A0 u
$ E# x4 x/ l# K1 T( l
二,矩阵的创建:
" Q: H$ X4 N2 o4 o; g5 p; V  ?$ Y3 ~

( o" P5 @" Q; o7 n0 ^( ^1、直接输入法
6 i) k8 v( h( Y* i8 ?
3 j3 j5 z7 r) T) J' T; l# g' y; k

" L% x) h% e" S4 |; ^最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
, n2 t, e6 n, @6 e: {$ S( a2 ^
0 x# F1 z4 N0 t6 ?2、利用MATLAB函数创建矩阵
& m& C; h4 N3 T
9 l& X" ]& @$ |4 C6 ?- b
+ z: k1 D5 H8 ^# V
基本矩阵函数如下:
' a2 |, s2 y7 r# [; H; X
2 k  a$ ~/ P2 P4 j: E' f

# C0 |' h  W4 N; D: n% q(1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n维的全1矩阵;
7 ?7 C$ B. R. j4 ~/ O( D+ P0 ?2 ]/ m: L0 m0 A8 z$ H" F3 H" R
5 k4 C# X0 z% N) g. s4 |+ H9 f& ]
(2) zeros()函数:产生全为0的矩阵;0 q- C! J' s& E4 |5 q* s) H

; N* x& Y8 q0 ]) v$ s! z

8 O& N0 p) k6 {(3) rand()函数:产生在(0,1)区间均匀分布的随机阵;! \$ P# a( v  F1 ]
, q% q3 ], w6 ~" z

" m: M# R8 A7 a' r2 g( o% W(4) eye()函数:产生单位阵;# U4 N* c3 }3 ?# q. b0 N

* Q- N# ]3 V) \# C3 Y, j

& E0 i& N- i0 d+ c2 v& L(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。/ h- n2 v1 b$ h& Q% s9 Y
- m1 }( |) t3 k% g) I2 B( `% B

! y* Y$ Y% h) _& H# u0 A3、利用文件建立矩阵
( e2 u" q& r4 O: m1 V* o' u
9 [& F( ]& j: F0 |+ ]; ?: J% u

; }7 r$ l4 \- n$ |8 h当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。
, B0 T! x7 {- V" [, X1 _) ~% B3 \% x4 l$ F) e( ?7 E, }7 r( S

6 z5 ]5 \- T9 P+ l: _! _三、矩阵的简单操作4 n: J& ?  e  s: |! i
( T6 ^8 X( L, `0 ^+ _3 i; k. N

$ e6 o7 o6 p# Y0 W! _9 o7 o, s1.获取矩阵元素' N" A, d% m5 j5 ^5 p! k
) v3 ^, K* ~6 G
/ N  B7 x# \9 Z6 d6 ^% V$ V2 X# c
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。
" y/ L. |2 m5 a1 \0 b. J( K7 r, j( R1 z% O# m, c
2 Q5 v+ [0 R; ]# {5 j( r" c/ j
也可以采用矩阵元素的序号来引用矩阵元素。( q$ J6 ~9 M) K  G& @; ~

8 `2 Y  O3 s6 e* j
" |5 U6 e; Z2 W. h+ G
矩阵元素的序号就是相应元素在内存中的排列顺序。+ X! B" A: E2 D8 t

# J! j9 _3 l6 m) X* m/ ~
+ G  `' x  t& q: E9 |3 a
在MATLAB中,矩阵元素按列存储。
4 g8 u; W$ Z9 H1 h' e  s7 i) e' D, u4 K4 G. P! m: B1 j5 h! l
: ]0 T. A( [& w% Q2 k# k
序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。+ [1 r# t3 G- e, ?
+ n% r2 J1 l' G6 K
# }/ O7 Y# d/ _* [3 f" H
其相互转换关系也可利用sub2ind和ind2sub函数求得。7 U" H& d- y0 U9 h, g
/ ?$ W. A# |8 n; x( M, I3 b4 I$ K

" x% i7 z! `  s3 t( s1 T2.矩阵拆分) n7 E- ?9 t/ x2 h& T

  T! J- V4 @4 M6 T

1 T" I+ d" x5 `利用冒号表达式获得子矩阵:/ E! Z1 r# }# b1 q1 @
0 c0 ^' c3 [4 Q& X3 P) a
3 l  l% i6 [6 q) ^
(1) A(: ,j)表示取A矩阵的第j列全部元素;A(i,: )表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。2 a* q/ p5 \% g' G" F2 c

" f; v3 h. n% c& I

# l3 S) U- E3 ~! f/ v/ w+ J(2) A(i:i+m,: )表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。
/ _+ L! y8 ?; z# T& w) j
7 T  s; N' l! b3 ]
. R. ]. k2 J! \6 L
利用空矩阵删除矩阵的元素:7 m5 ~" i  {) a& T& ?; f

# x  J6 v  s( T8 U4 G& M4 x* O
0 x- F8 z1 T6 @/ X9 b4 Q, R3 O
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。3 P' u. j3 ]& x  ]3 ], J) D; e8 L

' K+ M9 A) X+ g

7 L% Z. \/ y. I& p% p3、特殊矩阵
- E8 \1 K5 y5 q8 R6 ]7 z* Z
2 i- Z( R* r' Z2 t; Z

$ N. D2 L8 w( E! M4 Z1 i
游客,如果您要查看本帖隐藏内容请回复

, \. N9 G! {* F& D/ }& X) E
; G0 h# y  R9 W& E+ F- u: t" G, B- u& H  O
! N% ^% w6 a# w2 p9 \& [3 k. V0 n

& n0 j/ q5 x" _+ o2 @, e  M) a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 18:59 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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