Matlab --- 特殊矩陣的使用以及矩陣的基本運算

一、特殊矩陣的使用

(1) zeros函數:產生全0矩陣,即零矩陣

(2)ones函數:產生全1局者,即幺矩陣

(3)eye函數:產生對角線爲1的矩陣。當矩陣是方陣時,得到一個單位陣。

(4)rand函數:產生(0,1)區間均勻分佈的隨機矩陣

(5)randn函數:產生均值爲0,方差爲1的標準正態分佈隨機矩陣

舉例:

 分析:

% rand函數:產生(0,1)開區間均勻分佈的隨機數x 
% fix(a+(b-a+1)*x):產生[a,b]區間上均勻分佈的隨機整數
% randn函數:產生均值爲0、方差爲1的標準正態分佈隨機數x
% u+ ax: 得到均值爲u, 方差爲a^2的隨機數
>>A = fix(10+(99-10+1)*rand(5))
>>B = 0.6+sqrt(0.1)*randn(5)
>>C = eye(5)
>>(A+B)*C == C*A +B*C
ans = 1 1 1 1 1
      1 1 1 1 1
      1 1 1 1 1
      1 1 1 1 1
      1 1 1 1 1

二、用於專門學科的特殊矩陣

(1)魔法矩陣

% 魔方矩陣 由1,2,3...n^2個整數組成,且每行每列以及主、副對角線各n元素之和都相等
% M = magic(8);
% disp(M);
% disp(sum(M(1,:)));
% disp(sum(M(:,1)));
>> study_6
    64     2     3    61    60     6     7    57
     9    55    54    12    13    51    50    16
    17    47    46    20    21    43    42    24
    40    26    27    37    36    30    31    33
    32    34    35    29    28    38    39    25
    41    23    22    44    45    19    18    48
    49    15    14    52    53    11    10    56
     8    58    59     5     4    62    63     1

   260

   260

       1              1              1              1              1       
       1              2              3              4              5       
       1              3              6             10             15       
       1              4             10             20             35       
       1              5             15             35             70       

       5            -10             10             -5              1       
     -10             30            -35             19             -4       
      10            -35             46            -27              6       
      -5             19            -27             17             -4       
       1             -4              6             -4              1       

>> 

(2)範德蒙矩陣:用於通訊系統的糾錯編碼中,如圖所示。

% M = vander(1:5);
% disp(M);

 (3)希爾伯特矩陣 行號+列號的倒數,

% format rat
% H = hilb(4);
% disp(H);

 (4)伴隨矩陣 compan(P) p是一個多項式的係數向量

(5) 帕斯卡矩陣P = pascal

三、矩陣的變換 

(1)對角陣:提取矩陣對角線的元素

 

% 提取矩陣對角線元素
% A  = fix(10+(99-10+1)*rand(5));
% disp(A);
% B = diag(1:5);
% disp(B);
% C = B*A;
% disp(C);

% A  = fix(10+(99-10+1)*rand(5));
% disp(A);
% B = diag(1:5);
% C = A*B;
% disp(C);

(2)三角陣:上三角陣和下三角陣:%上三角陣 triu(A),triu(A,k);

(3)矩陣的轉置 :小數點後加單引號

%上三角陣 triu(A),triu(A,k);
%矩陣旋轉rot90(A,k)
%矩陣的轉置 小數點後面接單引號 單引號(共軛轉置)
%矩陣的翻轉 fliplr(A) 矩陣左右翻轉
%flipud 上下翻轉

例題:驗證魔方陣的主對角線、對角線元素之和相等

 (4)逆矩陣:inv(A)

例題:

四、矩陣求值 

(1)矩陣的行列式值:

%行列式求值 det(A)

(2)矩陣的秩:線性無關的行數或者列數

規律:

 

(3)矩陣的跡:對角線元素和或者特徵值和

(4)矩陣的範數:

%向量的矩陣和範數
%1範數,向量元素的絕對值之和
%2範數,向量元素平方和的平方根
%無窮範數:向量元素絕對值中的最大值 norm

norm(V)、norm(V,1)計算向量V的一範數
norm(V,inf);

%1範數,矩陣列元素絕對值之和的最大值
%2範數,矩陣最大特徵值的平方根
%無窮範數:矩陣行元素絕對值之和的最大值

(5)矩陣的條件數:描述矩陣的性能(%矩陣條件數:A的範數 與A逆矩陣的範數乘積 越接近1 矩陣性能越好)

五、矩陣的特徵值和特徵向量

(1)矩陣特徵值的數學定義:

 

例題: 

 

結論:

 

 (2)特徵值的幾何意義:

 六、稀疏矩陣

(1)定義:0元素個數多於非0個數

(2)  矩陣的存儲方式:

 (3)存儲方式:

 (4)存儲方式的轉化:

 (5)直接建立稀疏存儲矩陣:Sparse、spconvert

(6)帶狀稀疏矩陣:非零元素在對角線上 ,speye產生單位稀疏矩陣

 

 總結:

第二篇介紹了Matlab矩陣的運算處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章