MATLAB常用矩阵函数运算如下:
函数名 | 说明 |
det | 求矩阵的行列式 |
inv | 求矩阵的逆 |
eig | 求矩阵的特征值和特征向量 |
rank | 求矩阵的秩 |
trace | 求矩阵的迹 |
norm | 求矩阵的范数 |
poly | 求矩阵特征方程的根 |
fliplr | 矩阵左右翻转 |
flipud | 矩阵上下翻转 |
resharp | 矩阵阶数重组 |
rot90 | 矩阵逆时针旋转90度 |
diag | 提取或建立对角阵 |
tril | 取矩阵的左下三角部分 |
triu | 取矩阵的右上三角部分 |
例1:求矩阵的特征值和特征向量
>> A = [1,2;2,4] [x,y] = eig(A) %x为特征向量矩阵,y为特征值矩阵 A = 1 2 2 4 x = -2584/2889 1292/2889 1292/2889 2584/2889 y = 0 0 0 5
例2:求矩阵的逆
>> A = rand(3) A = 979/1292 1406/2145 128/4021 541/728 1193/6969 18/65 1645/4194 1016/1439 243/5263 >> B = inv(A) B = 1063/447 457/4629 -1676/751 -1603/1702 -784/2749 682/289 -2053/354 2899/823 3547/783
例3:求矩阵的 范数
>> A = randn(3) A = -1004/341 -1685/2232 -269/2631 817/568 2113/1542 -861/3566 213/655 -1501/877 354/1109 >> B = norm(A) B = 8065/2266
2.4.1 矩阵的分解运算
矩阵的分解常用于求解线方程组
函数名 | 说明 |
eig | 特征值分解 |
svd | 奇异值分解 |
lu | LU分解 |
chol | Cholesky分解 |
qr | QR分解 |
schur | Schur分解 |
>> A = rand(5) [u,s,v] = svd(A) %A = u*s*v A = 302/461 547/1607 637/1259 131/945 13088/16073 655/4028 580/991 1287/1841 222/1487 771/3166 1078/9059 438/1957 2752/3089 463/1798 959/1032 457/917 1927/2565 542/565 797/948 1079/3083 1049/1093 388/1521 226/413 193/759 358/1821 u = -529/1228 -661/3882 -974/1699 523/5293 -577/863 -400/1173 -169/5333 1242/3467 790/911 413/8467 -1167/2552 -227/314 -277/11168 -501/2254 377/807 -751/1287 317/977 848/1531 -658/1521 -616/2509 -728/1889 875/1496 -133/274 287/6999 1255/2406 s = 4672/1803 0 0 0 0 0 1172/1401 0 0 0 0 0 821/1077 0 0 0 0 0 461/1387 0 0 0 0 0 427/1809 v = -492/1211 594/955 -726/1085 157/17100 83/5177 -573/1507 6583/35608 66/167 1233/2317 -351/568 -398/631 -460/3179 547/2044 313/1585 863/1258 -390/1237 512/2069 954/2347 -773/961 -461/2799 -951/2164 -1330/1887 -757/1897 -747/4262 -679/1959
2.4.2 关系运算与逻辑运算
- 给出命题的真假
- MATLAB将任何非0数值都当做真,而将0当做假
- 真输出1,假为0