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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2019-10-23 19:14 编辑 ; l2 @3 T# s7 m9 ^* z! ?& z# q

4 _! f/ O$ E7 Y" e9 Z6 x6 T一、矩阵的表示
2 V9 o  e5 |# N; \" t2 q+ V4 o1 X! S1 N; ~

1 {; o6 x8 D4 u8 U在MATLAB中创建矩阵有以下规则:5 c3 Z. v+ o3 N# V

9 N1 }& m0 z% `. H& y+ y

) f1 J0 E# n$ B/ M7 C9 N9 S/ ta、矩阵元素必须在”[ ]”内;5 [# v  N2 v0 w  l$ a

" l5 ]0 t7 f& v: T! u# G

9 R/ u, M3 k$ j2 |& t1 i4 o: _b、矩阵的同行元素之间用空格(或”,”)隔开;
  O% b$ R  p( ^- P3 m# s& y0 w5 x2 H9 v- \5 J
7 }9 e) x: k9 `" ?9 O
c、矩阵的行与行之间用”;”(或回车符)隔开;
0 O! a) Z* D0 E- Z, u
8 l( d  p+ r) i

1 A" l9 ^' L' d' |6 X- u& Pd、矩阵的元素可以是数值、变量、表达式或函数;, f8 {: L7 s) t( I. l% ]- U
* v5 k# c/ v8 y& ^) u% H

3 f. y! n9 K$ x" }. m* s) o8 Ae、矩阵的尺寸不必预先定义。
4 V1 v* j8 Q6 }3 d' o  X
& A; t7 Q0 r- U; l7 ^4 p
# M: C) b# W' ^) k  j- W
二,矩阵的创建:. r0 U% U- Q; q( f# ~9 f" h' Y

5 b3 E4 O9 C' V3 i. X2 p
% m" \$ @. g/ @  D# s
1、直接输入法
) ]1 }8 E3 K3 L- A+ g
$ S6 i; g  F4 Y6 x- Z0 z0 D+ o

" B- W  ]; w' S) N最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
7 c% q  F: C9 Z" Z
: u3 Z2 F9 P# s7 [1 [1 ~" v2、利用MATLAB函数创建矩阵
4 [' u, Z3 w' E" E
- t/ d' h* U* w" U3 d- f& X) l

; C& u0 M: X3 \2 b( Z$ h基本矩阵函数如下:7 T& k; g& n& ~/ Z7 V/ ~# {+ Z1 A

& L8 H* t0 u0 ~% g, M1 ]3 T

) c' W3 ]+ |+ k5 ](1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n维的全1矩阵;
/ n7 |8 j* N$ @! a3 Z6 g* M. |3 e9 ?- e' {+ m+ K

, Q6 {9 }$ H& Q) U' S7 a6 n8 l7 q+ t(2) zeros()函数:产生全为0的矩阵;! T' [9 S% O+ c7 F
5 G1 c3 E9 f% X- Q" x

0 a% m' u$ J( m! j8 D" [, f0 C(3) rand()函数:产生在(0,1)区间均匀分布的随机阵;2 z" T) ^. y0 ?

4 K; F4 z; {( G9 i1 W, s
  w2 Z* P; v  ]  W( d; A
(4) eye()函数:产生单位阵;4 O# V5 y! O3 [

" G; C0 a4 ?$ l4 S6 n8 }( C  H

3 i& `' E" f8 x" J4 {(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。- a+ g0 F) i9 K, F" [7 q# q
3 w1 e$ A6 {: |2 o# @0 H3 G: Y

5 N4 r) R; J5 o# J; i3、利用文件建立矩阵% @* `/ @, r; r) b6 m

# C1 v6 U% Z% ~- t$ T
) M. L6 q" |! k: O7 `+ W" [
当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。( e5 z$ |( F0 P4 l; |5 o/ y4 K- {
/ o  e. g9 o7 g$ K' p

2 A. }5 W' E8 g, R, M$ T三、矩阵的简单操作9 ]* M" c# d% ]9 o+ {! I+ b; a
: s& g; [* @) G7 g# P$ M/ u, W) Z5 \

5 x; x4 D! R0 |9 F8 z. l! y: i1.获取矩阵元素
/ @2 Z: n' C* R) Y" d. y. X+ e- c- A6 u' \' V" c( `# ]- D3 k
* f! o7 {3 X5 v) j4 t; M7 w& R
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。) i2 c" r. m' W( L, z
+ H8 E' m  G+ J5 m% U
, S+ e! _/ h  w. e& t7 u
也可以采用矩阵元素的序号来引用矩阵元素。
; J7 p& ^/ t' T
% c1 m, o* }5 j# a! y

( m) H) Y! F* |2 Z2 e; z, N矩阵元素的序号就是相应元素在内存中的排列顺序。
2 m4 O; W. Q7 U+ ~4 [6 e: a1 k
( ?' b& F, ]: F# B& f
' u# ?0 |3 J% I4 S5 [; B
在MATLAB中,矩阵元素按列存储。4 F$ x, E9 A  `! E

  u) x' w! b' S2 E

" s) q- d8 O! K4 `序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。& D, S9 D8 N2 Y4 L! P" p

8 C: `3 {) A2 w4 x9 A7 p  v
! v( l! Q; Z9 Y7 u
其相互转换关系也可利用sub2ind和ind2sub函数求得。: y& J( U. d* l" `4 w' s
3 K5 S% j- ~4 U" C7 a' x
( r7 M& @& U8 J
2.矩阵拆分9 y: y, C3 c5 L4 @& r8 u
, r  M; @: Z) M% _

5 `9 S3 J  y: K! I4 b" v* z0 g2 t: v利用冒号表达式获得子矩阵:
$ A/ y9 O1 y; E& S% `; P, p' A  `6 T  M+ \, @5 u
- O( d, w( s3 W& @/ a4 m
(1) A(: ,j)表示取A矩阵的第j列全部元素;A(i,: )表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
2 }# n' V2 K2 C, p
1 e8 X( @- c2 B
  V$ |) z: Q% I3 r) i# N
(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表示某一维的末尾元素下标。
: j3 l$ U2 d8 m3 j. a4 \
) S5 v; U( `( p, S
6 B# n7 t% w& r$ C! ^0 u6 _
利用空矩阵删除矩阵的元素:9 u. L: e9 E) z+ _% V" z6 u

( }9 g1 {$ {( n- v( `" h0 S
4 G, B% L8 y+ e. G( ^
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
" h$ k6 ?# \8 i3 c
8 p: a1 \: }' w5 [( ]& _
: M. r8 V6 l. `4 o" u3 D
3、特殊矩阵( K8 n3 Y; ?. F4 c! Y
3 \* q: y- M4 v3 c! @1 L0 S: k) t( w

0 I! E" y9 p( q2 ^& n
游客,如果您要查看本帖隐藏内容请回复

; \8 v1 Q! x* _- ]* K+ `( P6 ]6 g$ L$ P8 ~4 e) Q6 m

" o& S+ p$ R$ H3 Y8 e3 v
' u2 e! @& k# F/ i5 h
4 B! @. l  T# m$ {( }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:57 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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