2.4 矩阵的基本函数运算

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       
View Code 

例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   
View Code

例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  
View Code

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  
View Code

2.4.2 关系运算与逻辑运算

  • 给出命题的真假
  • MATLAB将任何非0数值都当做真,而将0当做假
  • 真输出1,假为0

 

原文地址:https://www.cnblogs.com/zgqcn/p/11275216.html