MATLAB中矩陣及其運算

2021-07-14 16:10:10 字數 2125 閱讀 1249

矩陣是matlab最基本、最重要的資料物件。單個資料(標量)可以看成是矩陣的特例。所有matlab中的矩陣資料都按列

存放。

一、矩陣的建立

1.直接輸入法

* 將矩陣的元素用方括號括起來,

按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。 * 

矩陣元素可以是運算表示式。 * 

若「[  ]」中無元素表示空矩陣。 * 

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

例如:a = [1 2 3;4 5 6;7 8 9]

2.利用m檔案建立矩陣 對於

比較大且比較複雜的矩陣,可以為它專門建立乙個m檔案或txt檔案。即把矩陣的資料存放在m檔案中,再匯入即可。

3.利用matlab函式建立矩陣

* 幾個產生特殊矩陣的函式:

zeros、ones、eye、rand、randn。 * 

這幾個函式的呼叫格式相似,下面以產生零矩陣的zeros函式為例進行說明。其呼叫格式是:

zeros(m)          產生m×m零矩陣

zeros(m,n)       產生m×n零矩陣。

zeros(size(a))   產生與矩陣a同樣大小的零矩陣

* 相關的函式有:

length(a)給出行數和列數中的較大者,

即length(a)=max(size(a));

隨機數矩陣: * 

rand(m,n) 產生m×n矩陣,其中的元素是服從[0,1]上均勻分布的隨機數。 * 

normrnd(mu,sigma,m,n)產生m×n矩陣,其中的元素是服從均值為mu,標準差為sigma的正態分佈的隨機數。 * 

exprnd(mu,m,n) 產生m×n矩陣,其中的元素是服從均值為mu的指數分布的隨機數。 * 

poissrnd(mu,m,n) 產生m×n矩陣,其中的元素是服從均值為mu的泊松(poisson)分布的隨機數。 * 

unifrnd(a,b,m,n) 產生m×n矩陣,其中的元素是服從區間[a,b]上均勻分布的隨機數。

隨機置換:

* randperm(n)產生1到n的乙個隨機全排列。 * 

perms([1:n])產生1到n的所有全排列。

4.建立大矩陣

大矩陣可由方括號中的小矩陣建立起來。

例如:a=[1 2 3;4 5 6;7 8 9]; 

c=[a,eye(size(a)); ones(size(a)),a]

冒號表示式 

例如:a=1:0.5:4

x=linspace(a,b,n)

%    建立從a開始,到b結束,有n個元素的等差行向量

x=logspace(a,b,n)

%    建立從10^a開始,到10^b結束,有n個元素的等比行向量.

二、矩陣拆分

1.矩陣元素

* matlab允許使用者對乙個矩陣的單個元素進行賦值和操作。例如

a(3,2)=200

* 也可以採用矩陣元素的序號來引用矩陣元素。矩陣元素按列編號,先第一列,再第二列,依次類推。 * 

以m×n矩陣a為例,矩陣元素a(i,j)的序號為(j-1)*m+i。

2.矩陣拆分

(1)利用冒號表示式獲得子矩陣

①a(:,j)表示取a矩陣的第j列全部元素;a(i,:)表示a矩陣第i行的全部元素;a(i,j)表示取a矩陣第i行、第j列的元素。

②a(i:i+m,:)表示取a矩陣第i~i+m行的全部元素;a(:,k:k+m)表示取a矩陣第k~k+m列的全部元素,a(i:i+m,k:k+m)表示取a矩陣第i~i+m行內,並在第k~k+m列中的所有元素。

此外,還可利用一般向量和end運算子等來表示矩陣下標,從而獲得子矩陣。end表示某一維的末尾元素下標。 

三、矩陣運算

1.基本算術運算

matlab的基本算術運算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。

注意:運算是在矩陣意義下進行的,單個資料的算術運算只是一種特例。

設a是可逆矩陣,ax=b的解是a左除b即x=a\b;xa=b的解是a右除b,即x=b/a

2.點運算

點運算子有.*、

./、.\和

.^。兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維引數相同。

MATLAB矩陣運算

matlab matrix laboratory 矩陣實驗室 其實就是講matlab是專為矩陣運算而設計的,當然並不是只能運算矩陣。但是我想講的是在我們 多為初學者 使用的過程中往往沒有很好地意識到矩陣運算的價值所在,說來也是我今天的使用過程中發現一些東西才對其精髓所在略有感悟。以下,是我今天對於m...

matlab矩陣運算

社會實踐終於結束了,我終於又有時間繼續投入到學習大業之中了。今天先來談談matlab中的矩陣運算。一 矩陣輸入 矩陣的輸入我也理解的不太透徹,大致形式為a 1,2,3 4,5,6 7,8,9 其中 表示前後的東西在一行,也可以被空格替換,之所以這麼表達,是因為逗號或空格前後也可以是矩陣,只要行數相等...

Matlab中矩陣的基本運算

1.矩陣的秩 2.行列式和逆矩陣 3.矩陣的跡和範數 4.條件數 5.特徵值和特徵向量 6.線性方程組的解 1.矩陣的秩 a magic 5 rank a 表示矩陣的秩 rref a 化簡為行階梯型矩陣 2.行列式和逆矩陣 b magic 2 det b 行列式 inv b 求逆,注意對於不可逆矩陣...