matlab矩陣的操作

2021-06-22 18:37:48 字數 4832 閱讀 4071



l          矩陣的輸入

i.        直接輸入建立矩陣

輸入方法是先鍵入左方括弧「[」,然後按行直接鍵入矩陣的所有元素,最後鍵入右方括弧「]」。注意:整個矩陣以「[」和「 ]」作為首尾,同行的元素用「,」或空格隔開,不同行的元素用「;」或按enter鍵來分隔;矩陣的元素可以為數字也可以為表示式,如果進行的是數值計算,表示式中不可包含未知的變數。

例4:直接輸入建立矩陣

解:matlab命令為

a = [1,2,3; 4,15,60; 7,8,9] ↙

a =

1     2     3

4    15    60

7     8     9  

c1=a(:,[1,3]),讀取第一列和第三列資料

c2=a(:,2:3),

讀取第二列和第三列資料

或用matlab命令

a=[1,2,3↙

4,15,66↙

7,8,9]  ↙

a =

1     2     3

4    15    60

7     8     9  

ii.  用矩陣函式來生成矩陣

matlab 提供了大量的函式來建立一些特殊的矩陣,表2.3給出matlab常用的矩陣函式。

表2.3 常用的矩陣函式

函式名稱

函式功能

函式名稱

函式功能

zero(m,n)

m行n列的零矩陣

eig(a)

求矩陣a的特徵值

eye(n)

n階方矩陣

poly(a)

求矩陣a的特徵多項式

ones(m,n)

m行n列的元素為1的矩陣

trace(a)

求矩陣a的跡

rand(m,n)

m行n列的隨機矩陣

cond(a)

求矩陣a的條件數

randn(m,n)

m行n列的正態隨機矩陣

rref(a)

求矩陣a的行最簡形

magic(n)

n階魔方矩陣

inv(a)

求矩陣a的逆矩陣

hess(a)

hess 矩陣

det(a)

求矩陣a的行列式

sqrtm(a)

求矩陣a的平方根

expm(a)

求矩陣a的指數值

funm(a)

按矩陣計算的函式值

logm(a)

求矩陣a的對數值

rank(a)

求矩陣a的秩

morm(a,1)

求矩陣a的範數

例5:輸入矩陣 。

解:matlab命令為

ones(3) ↙           %生成元素都為1的3階方陣

ans =

1     1     1

1     1     1

1     1     1

例6:輸入矩陣

解:matlab命令為

zeros(2,5)  ↙        %生成元素都為0的2行5列零矩陣

ans =

0     0     0     0     0

0     0     0     0     0

例7:生成3階魔方矩陣。

解:matlab命令為

magic(3) ↙          

ans =

8     1     6

3     5     7

4     9     2

l          操作符「:」的說明

j:k      表示步長為1的等差數列構成的陣列:[j, j+1, j+2,…, k]

j:i:k     表示步長為i的等差數列構成的陣列:[j,j+i,j+2*i,…, k]

a(i:j)    表示a(i),a(i+1),…,a(j)

例8:操作符冒號」:」的應用

解:matlab命令為

1:5 ↙                  %步長為1的等差數列。

ans =

1     2     3     4     5

1:2:7  ↙               %步長為2的等差數列。

ans =

1     3     5     7

8:-2:0  ↙               %步長為-2的等差、遞減數列。

ans =

8     6     4     2     0

l          對矩陣元素的操作

設a是乙個矩陣,則在matlab中有如下符號表示它的元素:

a(i,j)     表示矩陣a的第i行第j列元素。

a(:,j)     表示矩陣a的第j列。

a(i,:)     表示矩陣a的第i行。

a(:,:)     表示a的所有元素構造2維矩陣

a(:)       表示以矩陣a的所有元素按列做成的乙個列矩陣。

a(i)      表示矩陣a(:)的第i個元素。

[ ]        表示空矩陣

i.       元素的抽取與賦值

例9:已知矩陣 ,抽取與修改矩陣a的一些元素.

解:matlab命令為

a=[1 23 56;sin(3) 7 9;log(2) 6 1]  ↙           %輸入矩陣a。

a =1.0000   23.0000   56.0000

0.1411    7.0000    9.0000

0.6931    6.0000    1.0000

a(2,3) ↙                                 %求矩陣a的第二行第三列元素。

ans =

9a(4)  ↙                                  %求矩陣a的第四個元素。

ans =

23a(2:4) ↙                                 %取矩陣a的a(2),a(3),a(4)。

ans =

0.1411    0.6931   23.0000

a(1,:) ↙                                 %取矩陣a的第一行。

ans =

1    23    56

a(:,3)                                  %取矩陣a的第三列

ans =569

1a=a(1,3) ↙                     %把矩陣a的第一行第三列元素賦值給變數a。

a =56

a(2,1)=100 ↙                    %把矩陣a的第二行第一列元素修改為100。

a =1.0000   23.0000   56.0000

100.0000    7.0000    9.0000

0.6931    6.0000    1.0000

ii.    矩陣的擴充

例10:已知矩陣 ,利用a與b生成矩陣 ,

, 。解:matlab命令為

a=[1,3;6,9];                 %輸入矩陣a

c= a↙                

c(1,3)=100;                  %把矩陣a擴充為1行3列矩陣

c ↙c =

1     3   100

6     9     0

b=[1,5;0,8]; ↙             %輸入矩陣b

d=[a,b]   ↙              %由矩陣a與b合成矩陣d

d =1     3     1     5

6     9     0     8

aa=[a,zeros(2);zeros(2),b] ↙    %由矩陣a與b合成分塊矩陣aa

aa =

1     3     0     0

6     9     0     0

0     0     1     5

0     0     0     8

iii.矩陣的部分刪除

例11:已知矩陣 ,刪除矩陣a的第一行。

解:matlab命令為

a=[1 23 56;sin(3) 7 9;log(2) 6 1]; ↙              

a(1,:)=  ↙                         %刪除矩陣a的第一行

a =0.1411    7.0000    9.0000

0.6931    6.0000    1.0000

l          矩陣的運算

a+b:  矩陣加法

a-b:  矩陣減法

a*b:  矩陣乘法

a\b:  矩陣的左除

a/b:  矩陣的右除

transpose(a)或a』:a的轉置

:數k乘以a

det(a): a的行列式:

rank(a):a的秩

reshape把指定的矩陣改變形狀,但是元素個數不變,

例如,行向量:

a = [1 2 3 4 5 6]

執行下面語句把它變成3行2列:

b = reshape(a,3,2)

執行結果:

b =

1 4

2 5

3 6若a=[1 2 3

4 5 6

7 8 9]

使用reshpe後想得到b=[1 2 3 4 5 6 7 8 9]

只需要將a轉置一下就可以了:

b=reshape(a',1,9)

matlab 矩陣操作

矩陣構造 1 簡單矩陣構造 最簡單的方法是採用矩陣構造符 構造1 n矩陣 行向量 時,可以將各元素依次放入矩陣構造符內,並且以空格或者逗號分隔 構造m n矩陣時,每行如上處理,並且行與行之間用分號分隔。2 特殊矩陣構造 在matlab中還提供一些函式用來構造特殊矩陣,這些函式如下表所示。1 ones...

MATLAB 矩陣操作(三)

特殊向量和特殊矩陣 1 特殊向量 t 0 0.1 10 產生從 0 到 10 的行向量,元素之間間隔為 0.1 t linspace n1,n2,n 產生 n1 和 n2 之間線性均勻分布的 n 個數 預設 n 時,產生 100 個數 t logspace n1,n2,n 預設 n 時,產生 50 ...

MatLab矩陣操作一

矩陣的建立 直接輸入元素 a 1,2,3 b 1 2 3 4 5 6 c 1 3 6 2 4 8 零矩陣 a zeros a為單元素矩陣 b zeros 4 b為4 4矩陣 c zeros 2,3 1矩陣 ones 冒號表示式建立行向量 1行n列矩陣 e1 e2 e3 e1起始值 e2步長 e3結尾...