TA的每日心情 | 怒 2019-11-20 15:22 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 Y. U) `7 w9 [& L3 D
数组:
9 a1 y6 p: J: \1 ^2 L+ `( ]& X
/ @( s& ?; M% _7 `: D) E数组的乘法和除法分别用“.*”和“./”表示。右除和左除的关系为:A./B=B.\A,其中A是被除数,B是除数。1 I- {$ ^+ N5 E0 ]7 s, L
+ S7 d/ N+ E8 Ysize()和length()检测数组大小:size()获取数组的行数和列数,length()获取一维数组的长度如果是二维数组,则返回行数和列数中的较大者。; c7 W7 S$ G) C7 x. H, W
9 o$ k/ E* Y) i& J3 m
ndims()计算数组的维度。单个标量返回2,可以看成一行一列的数组。) R( m4 i" v: [9 o, Z0 ^
/ C- L W' w* Y' Twhos来获取数组的大小以及占用内存的多少
0 o$ I. M9 n1 u8 g1 d$ q1 }1 ]$ C7 K0 c
/ m9 G. ?, n* V, |+ l- _6 {
8 G" s" O6 Y& ^6 z2 u+ t) E0 I1 {: m+ V. v- C4 ~! N' V a
4 ]7 _) E' o& p% Q
# w8 f w1 o4 L5 x数组元素的查找采用函数find(),返回关系表达式为真的元素的下标
# G$ z4 }9 c$ O4 E7 V; h+ H6 f
( d8 e$ Y4 L5 r/ q _+ y5 ^) ]排序函数sort(),默认是升序:sort(A,’descend’);降序3 T- K6 d7 N) s1 H2 M7 S
0 ^9 X" z2 S8 G
矩阵:matlab中的矩阵是按列来存储的。7 }7 [2 e3 k) F1 `! K& d" A( q
( l! U) Z" D( C) b
" l9 `9 ?6 O7 Y+ D' E& e
1. 矩阵的扩展
" D1 x5 d8 O: K) {0 K# {1 p* G9 Q
! ]; B4 H+ D x8 h+ L1 U) I( E$ b! l$ c) Q& I
cat(DIM,A,B):该函数在DIM维度上进行矩阵A和B连接,返回值为连接后的矩阵
4 E, a% u7 _' `7 d. U0 t. S$ t! z( N& Q
vertcat(A,B):该函数在水平方向上连接数组A和B,相当于cat(1,A,B)6 F* l5 x2 D) l8 g2 M' O
4 I# ~$ p4 G0 e0 E8 t* ]
horzcat(A,B):该函数在垂直方向上连接数组A和B,相当于cat(2,A,B)- G. o( F, ^; J% e
: i$ [- R4 y8 X3 D
' a9 F6 h) {2 g# z+ P2. 块操作
, t% g2 p9 I- Z) p4 c# d
) K* k" d7 }8 u( D+ dB=repmat(A,m,n):该函数产生大的矩阵B,把矩阵A当作单个元素,产生由m行和n列的矩阵A组成的大矩阵B8 g; @5 k! n0 X |
: w' G; P* b; f: _% I! m$ QB=repmat(A,m):该函数产生大的矩阵B,把矩阵A当作单个元素,产生由m行和m列的矩阵A组成的大矩阵B
5 D+ Y- t, M2 F
3 w" ? O3 o' ?Y=blkdig(A,B):该函数将矩阵A和B作为对角块,产生新的矩阵Y
) P0 D7 }" C/ w6 O" i0 g1 m ~8 j" N9 a1 m3 Q. ?1 O3 L8 G7 H l, |
1 G* e, Q# n. [! ^+ q+ q: P3. 转置1 m% L7 M1 y8 D. m( d
3 V/ O4 U+ N& Z" P; P' N
‘:如果是复数,则转换为共轭复数
! g- I- h n& ?1 g0 ]' D! ~9 j' e) C2 r3 p+ w
矩阵真正的转置是A.’或者可以采用函数transpose(A)
, {: t* q# g& q! J8 K+ M" T' M. \% g( H1 C% `
# ] d, a8 G* f) }/ u6 y7 h; i* U' q9 o! B! k& d4 c
; [ G5 y! Q( i: x, v4. 旋转和翻转
- }8 a8 X% }/ Q; R1 J: T6 s; K
$ o' ]1 V/ g: Z* c矩阵的旋转可以采用转置的方法,也可以采用函数rot90()。9 Z2 {, S, h8 G
0 O8 @" d* z o
rot90(A):将函数矩阵逆时针旋转90°
! @7 X+ F$ \7 D
. s& t; M+ z, K& U+ h; Orot90(A,k):将函数矩阵逆时针旋转90°的k倍,默认值为1
/ v) E& X& H, G+ @
& T* m0 }, _, n. V5 `" ]1 E8 ?对矩阵进行左右翻转fliplr(A)4 {+ o$ W# S% q% L
: c1 V2 g$ V% G& e( C
对矩阵进行上下翻转flipud(A): o& c' |8 x3 Y% F, L* s* M/ [
1 f6 L) @( n; Q: v' E* P0 H; Q6 k
5. 改变矩阵的大小 9 H7 ~+ l( x, {% t2 l3 B- G- V
6 O: v' z. B" S* {" kY=reshape(X,m,n)# V) z+ i1 @# ~. d6 v" ^2 ]
: _* x, f* i Q
2 `5 E) c0 @' E- C3 @( }
6. 矩阵的分解
2 Z7 E+ Y* K5 {) ?& o/ ^# Q' ^$ N; t) [
cholesky分解:对于正定矩阵,可以分解为上三角矩阵和下三角矩阵的乘积,使用chol()函数进行分解时,最好先通过函数eig()得到矩阵的所有特征值,检查特征值是否为正。
8 Z7 W- p" L; ?6 h( w E3 R
3 Z, ~. R0 Q" B/ C+ X
. {' E; G+ J7 E8 f/ m/ w. ^/ ~( A3 a) y9 h# J
LU分解:也称为高斯消去法,将仿真分解为下三角矩阵的置换矩阵L和上三角矩阵U的乘积
# N1 u. s+ _+ P( h( W+ h0 w
7 a5 m: Y7 C5 MQR分解:也就是正交分解 V4 j! V" G- L; p! C
|
|