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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2019-10-23 19:14 编辑 6 U/ S: t8 N$ M' ~; \

. L! K& C0 F0 B! Z一、矩阵的表示
( {  ?. p; ?% L3 a) l- E& w+ p8 g; Q8 h6 Q7 x6 P- U

  M$ ~5 d: F' I2 P. h  ?4 I在MATLAB中创建矩阵有以下规则:
- K# A: X6 [, R2 Q8 v+ J6 F
+ I( S. U& ^4 e4 P7 `% t- A; M

9 T) M4 M/ v# j! j/ {a、矩阵元素必须在”[ ]”内;
/ z3 j" K" o- v. d
  i; d  B) N! U+ o# Z2 l
# I" E! y" f" p! ^- j9 K' `& Q4 \, U
b、矩阵的同行元素之间用空格(或”,”)隔开;
, B! c2 J! v  Q+ v8 o+ a4 m) h" f# W4 @1 k& Z  l

7 g' i& e1 ^7 J& i" \8 |c、矩阵的行与行之间用”;”(或回车符)隔开;# ^, G8 S3 F! ~% q/ L$ B! T

- K8 X* D: `: O6 E$ F( D2 k
6 B& o7 l2 I0 o4 P1 U
d、矩阵的元素可以是数值、变量、表达式或函数;( B( n4 R7 Z/ W9 R& P

2 s: z0 T+ y! g/ t
. H/ k' F( |( h+ n( K
e、矩阵的尺寸不必预先定义。- l* a% _5 I$ C, m) i- \
. o/ r3 A% f0 }+ p: Q: f
  J6 @3 e- G8 g9 D% N. J6 U& X
二,矩阵的创建:; ~/ B' A, z: L7 W

" e1 s6 ]% o% j6 N4 [
3 I) P. E& ^9 |; c/ y
1、直接输入法
8 W& q8 R4 L3 r% B
) s5 `/ \" h; _$ H! _, D" v7 y

/ l4 Y: R' q  ]' W最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。* t% ]$ U6 L2 @1 ~+ _* r/ b$ g
( h( r5 m, d; v4 C) O4 y& w0 q
2、利用MATLAB函数创建矩阵
$ J# s+ r( t5 `5 I% x
9 {& N& x2 k9 W  f
. |; f+ ]' @1 P& m5 F
基本矩阵函数如下:5 ^: r" O$ ?: o5 o( e+ P- M
  ?6 N) H4 I0 b: b2 Z! ?1 h% r# ^

8 h3 `* Q! ]) u1 {& k(1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n维的全1矩阵;
+ n5 c- a  h; j* y# u% z) V. g* n( r- B3 n& W" U

4 w, J- S2 J" F- E! C$ N5 n1 ^(2) zeros()函数:产生全为0的矩阵;0 x8 _6 T2 i1 J6 g, U& v  W

7 ]; K$ M. c( D$ V, P4 q
" ^$ _+ t. I( q. F8 z/ G
(3) rand()函数:产生在(0,1)区间均匀分布的随机阵;+ C2 Z0 O6 @% D
9 w. M# C! O4 C& m7 h
' e. {! ]' F5 Y: y+ }- i
(4) eye()函数:产生单位阵;4 d% ~& u! W7 I

1 n& S0 d' F" z. J& R& j$ x

2 M  A8 `( R4 j; o& i7 p(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。. l% g) o( M' W# _# T
9 o+ N/ r8 z) X* Y- @7 w0 i. l

. O- d, a5 u& y8 N- D# G3、利用文件建立矩阵
0 C6 r# c% `, ]6 h. z$ Z4 B% ]! `4 T2 P& P
; G# l- |% z- c# G3 a, Y
当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。
# k# _! Z- ^7 N* ~+ C. e, P3 d4 T7 e6 I9 D, v

+ t( `9 H1 Q. p8 T2 ]$ Q三、矩阵的简单操作* ]8 f( [( V6 P- x/ n
. l$ l8 B. M+ C) z8 G

2 o- F# S) k# P2 d) x( r1.获取矩阵元素; o- u5 ~8 G: G

  r. S% z" ?; m! P# O% |( B* Q) _
, J( h# A/ W# m3 \1 j1 u/ }
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。  @+ r3 O# _! W. b0 E$ j! A4 i

) K. ~  _* H2 N$ o6 d$ H

% G# n. C) x$ C0 |1 R5 l' |6 u也可以采用矩阵元素的序号来引用矩阵元素。! e1 V7 c' U2 K9 P
) F. s6 }  y3 g# h
: \5 u5 G- b/ ?
矩阵元素的序号就是相应元素在内存中的排列顺序。( k! i* T- Y7 F0 A3 n

  s+ G# r5 l8 G  S3 H
" i' X' o: @9 G, e5 K
在MATLAB中,矩阵元素按列存储。6 `+ u# U! e3 D' [' P
1 y+ D! d% b* d5 M( H
+ W; e! ^% T, \  l$ l, w
序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。
8 u) p" R- q8 q8 w. ?; z  O8 A( ~

- K8 d5 ?" o0 E2 V( \其相互转换关系也可利用sub2ind和ind2sub函数求得。6 L4 t' x5 X" ?7 m
' s# |5 q  i8 z- v5 i9 v
' N0 U; o/ E; g" j! n
2.矩阵拆分
( p0 H* `! d- ^! s( O# D
; D) R% J: q8 [; n
( D+ A7 b5 C7 D# N  d  {
利用冒号表达式获得子矩阵:. ]1 Y/ [, S$ \& q8 g! V8 T2 L
5 U, f; {; L/ ?7 M/ S  G
. q, n5 v. p6 Z& S& u* X
(1) A(: ,j)表示取A矩阵的第j列全部元素;A(i,: )表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
$ Y. R& v5 o7 j2 U9 r9 C* l
4 P+ H1 F- O+ U# X
0 B0 Q* G5 {: r. X8 d6 K0 y
(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表示某一维的末尾元素下标。
% M7 a0 P6 q" o( K5 h$ N+ y- Q  ?2 _
# @1 ~+ p+ i  e: @4 t
利用空矩阵删除矩阵的元素:
6 e4 Q5 T  w4 R. o2 f0 Y
$ W) [2 h6 K1 n( u, y+ v
4 C! K8 ?# K% _# c1 D8 {; l1 j: S
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
; J& q/ Z0 d: U) N) \
# Q/ Q, _7 K6 M( h/ P' q! X5 z2 {

5 d0 f; B* z$ n' N3、特殊矩阵) W' X- ~% _: C# m1 }0 `) ]

! d6 U# L6 G. l! H* t

6 O! Z' B; k  D# m. G; T2 s
游客,如果您要查看本帖隐藏内容请回复

6 G* A! v" {8 I4 X' d  I  ?! j3 w% Q! ^# I/ ~% I# c& v

( m/ H) i+ W2 c
: d0 K! M! Q0 Z, D) Y( F. k" A
3 C7 i, Z9 w( F: u
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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