天天看點

matlab入門——矩陣(運算、編輯、高維矩陣、對角矩陣)matlab基礎知識——矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)

matlab基礎知識——矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)

原創不易,路過的各位大佬請點個贊

矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)

  • matlab基礎知識——矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)
    • 1.矩陣定義
    • 2、矩陣的生成
    • 3、建立特殊矩陣
    • 4、建立高維矩陣
      • 4.1建立三維矩陣
      • 4.2建立多元維矩陣
      • 4.3建立多元特殊矩陣
    • 5、建立對角矩陣\分塊對角矩陣
    • 6、矩陣元素的運算
    • 7、矩陣 變維
    • 8、矩陣 變向
    • 9、矩陣的抽取、讀取

1.矩陣定義

MATLAB以矩陣做為資料操作的基本單元,是以matlab又被稱之為舉證明驗室或大型電腦。Matlab計算矩陣非常便捷、友善、高效。

在matlab建立矩陣時基本文法:

1. 輸入矩陣時要以“[ ]”為其辨別符号,矩陣的所有元素必須都在括号内。

2. 矩陣同行元素之間由空格(個數不限)或逗号分隔,行與行之間用分号或Enter鍵分隔。

3. 矩陣大小不需要預先定義。

4. 矩陣元素可以是運算表達式。

5. 若“[]”中無元素,表示空矩陣。

6. 如果不想顯示中間結果,可以用“;”結束。

a=[15 15 15;15 15 15;15 15 15]
 
a =
    15    15    15
    15    15    15
    15    15    15
           
A=[];
A=[a,a*2,a*10]

A =
    15    15    15    30    30    30   150   150   150
    15    15    15    30    30    30   150   150   150
    15    15    15    30    30    30   150   150   150
           

2、矩陣的生成

  1. 直接像上面寫一個矩陣
  1. 讀取工作區中的矩陣
A
A =
     1     2     3
     4     5     6
     7     8     9
           
  1. 讀取事先儲存的矩陣
%事先在txt檔案中存儲1,2,3;3,4,5;5,6,7
load A.txt
           
A=[1,2,3;3,4,5;5,6,7];
save A.mat
load A.mat
           

3、建立特殊矩陣

matlab入門——矩陣(運算、編輯、高維矩陣、對角矩陣)matlab基礎知識——矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)
zeros(3,4)
ans =

     0     0     0     0
     0     0     0     0
     0     0     0     0

>> eye(3)
ans =

     1     0     0
     0     1     0
     0     0     1

>> ones(1,3)
ans =

     1     1     1

>> magic(3)
ans =

     8     1     6
     3     5     7
     4     9     2

>> rand(2,4)
ans =

    0.8147    0.1270    0.6324    0.2785
    0.9058    0.9134    0.0975    0.5469
           

4、建立高維矩陣

4.1建立三維矩陣

矩陣的:号表示該維的所有元素;比如*B(:,:)表示矩陣B的所有行和列

矩陣的:号表示該維的所有元素;比如*B(:,1)表示矩陣B的第一列的所有元素

矩陣的:号表示該維的所有元素;比如*B(1,:)表示矩陣B的第一行的所有元素

>> B(:,:,1)=[1,2;1,2];
>> B(:,:,2)=[3,4;3,4];
>> B(:,:,3)=[5,6;7,8];
>> B
ans
B(:,:,1) =
     1     2
     1     2
B(:,:,2) =
     3     4
     3     4
B(:,:,3) =

     5     6
     7     8
           

4.2建立多元維矩陣

%Li表示第i維的維數
L1=2;
L2=4;
L3=2;
L4=2;

%生成L1 x L2 x L3 x L4的4維矩陣
for i4=1:L4
    for i3=1:L3
        for i2=1:L2
            for i1=1:L1
                CC(i1,i2,i3,i4)=i3*i4;
            end
        end
    end
end

ans
>> CC
CC(:,:,1,1) =

     1     1     1     1
     1     1     1     1
CC(:,:,2,1) =

     2     2     2     2
     2     2     2     2
CC(:,:,1,2) =
     2     2     2     2
     2     2     2     2
CC(:,:,2,2) =

     4     4     4     4
     4     4     4     4
           

4.3建立多元特殊矩陣

ones(2,3,4)

rand(3,4,5,6)

randn(4,5,6,1)

 A=[1,2,3;3,4,5;5,6,7];
 B(:,:,1)=A;
 B(:,:,2)=A*2;
 B(:,:,3)=A*3;
           

5、建立對角矩陣\分塊對角矩陣

對角矩陣文法:diag( )

分塊對角矩陣: blkdiag(A,B,C)

A=diag([1,2,3,4,5,6])
A =
     1     0     0     0     0     0
     0     2     0     0     0     0
     0     0     3     0     0     0
     0     0     0     4     0     0
     0     0     0     0     5     0
     0     0     0     0     0     6

B=diag(ones(1,5))
           

分塊對角矩陣

>> A=[1,2,3;4,5,6;6,7,8];
>> B=[1,2;3,4];
>> C=[11,22;33,44];
>> blkdiag(A,B,C)

ans =

     1     2     3     0     0     0     0
     4     5     6     0     0     0     0
     6     7     8     0     0     0     0
     0     0     0     1     2     0     0
     0     0     0     3     4     0     0
     0     0     0     0     0    11    22
     0     0     0     0     0    33    44
           

6、矩陣元素的運算

矩陣建立起來,第一個面臨的任務就是修改編輯其元素

matlab入門——矩陣(運算、編輯、高維矩陣、對角矩陣)matlab基礎知識——矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)
A=[1,2,3;4,5,6;7,8,9]
A =
     1     2     3
     4     5     6
     7     8     9

>> A(1,:)=[]
A =
     4     5     6
     7     8     9
>> A(2,:)=[]
A =

     4     5     6
           
A=[1,2,3;4,5,6;7,8,9]
>> A(2,2)=100
A =
     1     2     3
     4   100     6
     7     8     9
     
A(2,3)=123456
A =
           1           2           3
           4         100      123456
           7           8           9
           

同樣高維矩陣也可以修改,修改方法一樣,隻要在()中标注好修改元素的位置

7、矩陣 變維

矩陣的變維可以用符号“:”法和reshape函數法。reshape函數的調用形式如下。reshape(X,m,n):将已知矩陣變維成m行n列的矩陣。

A=1:12;
B=reshape(A,2,6)
C=zeros(3,4);       			%用“:”法必須先設定修改後矩陣的形狀
C(:)=A(:)

B =
     1     3     5     7     9    11
     2     4     6     8    10    12
C =

     1     4     7    10
     2     5     8    11
     3     6     9    12
           

8、矩陣 變向

matlab入門——矩陣(運算、編輯、高維矩陣、對角矩陣)matlab基礎知識——矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)

9、矩陣的抽取、讀取

對矩陣元素的抽取主要是指對角元素和上(下)三角陣的抽取。對角矩陣和三角矩陣的抽取命見下

matlab入門——矩陣(運算、編輯、高維矩陣、對角矩陣)matlab基礎知識——矩陣(運算、高維矩陣、對角矩陣、矩陣編輯抽取)

原創不易,路過的各位大佬請點個贊

繼續閱讀