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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 pulbieup 于 2019-10-23 19:14 编辑
3 s$ }4 \/ c' p! s# y; ?; e! C- p; }" v9 Y& u
一、矩阵的表示7 r7 m# ~" [: h) Y: d! R2 S# h5 C

7 b  q, B+ ]( t7 r, e6 N9 {: Y4 r

8 c5 }( I: ?; S( F2 B6 i在MATLAB中创建矩阵有以下规则:
: G3 w( Q  G( T2 }* }& b& {
* |% Q9 H( j/ X
9 n% ~1 u, i  i
a、矩阵元素必须在”[ ]”内;
# Z9 }! @) Z( ]$ e3 |9 S+ v' g" H& r0 O7 @  ?, S- a

, _) p$ J+ v& q8 |/ n: K" I5 Nb、矩阵的同行元素之间用空格(或”,”)隔开;
% j: T0 X0 ]3 K# k1 j
2 ~. w: t2 }' L

7 f3 ^& A2 U$ Z$ `5 Y* kc、矩阵的行与行之间用”;”(或回车符)隔开;& M( d# y  {7 o8 C1 O9 w  u8 ~

1 i# L* x- l' Z' E" z* l; i

" I" u8 a1 J# w7 }( i4 p) \/ a# D* ud、矩阵的元素可以是数值、变量、表达式或函数;- U7 b" p3 l2 O+ {& M2 g1 e

' \# {: I6 Y: D1 E- T2 N) x* E

$ Q, v, [* e/ @; @+ V1 \2 `' r& ze、矩阵的尺寸不必预先定义。. i+ ^% r5 j9 _- T4 S
1 \. X% E" W2 h
* g" C# ~& y/ ?1 ~( A( x2 ?7 Q
二,矩阵的创建:+ G, e* |3 |0 R1 ^! w- S

7 [( R( i  k' r% y. x5 t

% t* @- R! @' v1 y# U5 u+ u; C3 l1、直接输入法0 Y, ]8 u8 x5 Q4 M/ G" i' a7 g, z
( _: c0 n/ G9 D) K1 ~  g
, H  @6 Z( B: ?! a6 I; o$ V
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。+ U8 f9 l1 p& q2 x7 h3 c
& u0 c. R3 r  L8 Q8 {- q
2、利用MATLAB函数创建矩阵
) y' ?* a; @: W, E9 p
& ]6 R6 J9 M4 g8 }. U
" {2 q8 @; ^2 n: A$ S- D+ M
基本矩阵函数如下:! p- N3 `( k* j4 c3 y
. L! |$ @# l% R& x5 W$ ^: @

! U) ^5 b! M/ b7 y(1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n维的全1矩阵;$ [3 s. U3 i( m- A
" U% c7 A2 g$ s) d% l( S0 |
: L2 Y" ^. M; @# H' M
(2) zeros()函数:产生全为0的矩阵;
2 N, w/ K% L+ Q7 Q& G3 Z; K/ t1 {1 {5 [2 {7 Z/ o3 y( m( u

1 M6 T( t! H; X# ]# P0 y(3) rand()函数:产生在(0,1)区间均匀分布的随机阵;
6 v% ^" N4 s$ }  I9 N9 F  D' e: j$ z& i* g8 [

7 o$ G1 n6 H+ D# c+ ?4 F(4) eye()函数:产生单位阵;1 h# ?$ x& h1 p; {
. ~, m1 J# \: U3 A! b4 f
! }8 {6 n) L- M, ?
(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。* g( t8 r# l& B
$ E7 E5 ]0 ^  c6 b
2 H' ?2 `: A: _" i  w
3、利用文件建立矩阵  ~# D1 G  w, H* e: G4 _7 }0 N
  [4 W# @  I  B, p

0 N1 [# o" J8 F  H0 S1 j7 Q1 w6 V7 P0 z当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。. r! T9 _" O( A5 P
. H* s2 W5 f1 b5 u
/ N5 |* N% E( `& z0 M5 V
三、矩阵的简单操作
* ~2 T4 `' o3 M( ~9 l
" b, o( V6 m- K5 J, L, V+ c7 `

! n1 T0 u; u7 f: v" Q6 |1 N' y. R( j1.获取矩阵元素
2 x" `  z5 }3 W4 A, @% ^' S
0 `9 A* w+ @3 D& B/ {; T; q  V! T

  I* G$ h4 c8 K# l可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。
7 v2 p4 s2 C! G) S9 D: y
: ~1 e. `8 r; x5 u. _- F

& l& j4 x9 X  m3 S: ?7 l5 F也可以采用矩阵元素的序号来引用矩阵元素。
6 J8 e( V1 S/ s, E* c' y9 ?
# a* \, c0 H5 z
8 v& a0 s, r6 ?* o/ N0 g- P* q, a2 [
矩阵元素的序号就是相应元素在内存中的排列顺序。
- V" e( B2 `- Z% ?
* k3 p$ T, e. {6 J9 ?+ |& c1 p
) D+ W" Y% {/ S6 K! g& p
在MATLAB中,矩阵元素按列存储。
( E. E2 {* \& Z% C2 T
6 Q( Y) U# q) t( p: t

) [7 k0 r! l2 v序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。
! d5 k! Y# P; a5 s
& Y0 L8 V/ X1 [. j: x( v
( M. Z! p, g6 C1 d/ |1 Y9 G* Q
其相互转换关系也可利用sub2ind和ind2sub函数求得。
% Y5 R8 T! U; w- O& n
' i! A+ T$ _4 S4 T) Y5 W% m
+ k4 ?! f9 Q7 s7 i1 m! z
2.矩阵拆分$ V, w. s, c# {! s& v1 n
- ?/ X* R) z7 @$ }

# Z- c5 X& x1 c: O/ a. a利用冒号表达式获得子矩阵:% G0 f$ R. x  `/ T) ]- x3 \
  y- l' Y* y: T: T

. N$ ~1 f  Q8 i; j3 R- U: r(1) A(: ,j)表示取A矩阵的第j列全部元素;A(i,: )表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
% _+ |. g, d/ O0 x0 n: I2 n$ S8 l' L4 s- K

6 ~: h+ C, H' V8 a(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表示某一维的末尾元素下标。! c4 Q9 K" T3 F1 J3 d

' H! b5 C+ N3 d7 |

* ?; X# B: |- h' N3 ^利用空矩阵删除矩阵的元素:
4 e9 M: d. R* V7 \4 k5 ?4 I0 i  e4 U- m2 v' y- y' Z

7 H; C- r! N2 T! f在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
- F' C1 H  w( [% |$ x
8 N6 N: ?! H3 k6 {8 S

, y% K) x6 |% o: R3、特殊矩阵9 v- P7 p) k' o! ^$ b  {; f
; o2 }& }( W4 y  z4 h! O0 X" ?1 E
2 u, R% ^. p3 [0 y3 c1 o% M6 j
游客,如果您要查看本帖隐藏内容请回复

1 E) a1 L6 H6 I* c. f. N: R- E$ M$ z( Y' E2 L) e2 u

# A5 _9 ]4 l6 e& @* v
3 X+ A9 ]$ h1 h; q% p7 p; q& A' {; p$ l8 q0 ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 09:12 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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