Matlab中矩陣的儲存與訪問注意事項

2021-08-27 05:55:48 字數 2271 閱讀 3629

在matlab中最常用的資料形式莫過於矩陣了,在使用矩陣的過程中我們首先同時也是必須要了解的就是矩陣的儲存與訪問過程。矩陣的建立一般可以使用以下三種方法:第一種是直接輸入矩陣元素;第二種是通過呼叫函式生成特殊矩陣;第三種是利用m檔案建立矩陣,矩陣的訪問則有下標法、索引法等方法。如我們通過第一種方法建立三個矩陣,他們分別是1×3矩陣、3×1矩陣以及3×3矩陣,如下所示

以這三個矩陣為例,我們來了解以下矩陣的儲存與訪問過程。對於乙個已經建立好的矩陣,matlab是以按列的方式儲存矩陣同時分配索引,之後的訪問過程也可以通過在建立矩陣過程中分配的索引來對某乙個元素加以訪問,以上建立的三個矩陣其索引分別為

在知道了這些矩陣的索引之後,我們可以通過索引法來訪問這些矩陣中的元素,在matlab中輸入a(2),系統則顯示6,輸入a(3),系統則顯示1,輸入c(5),系統則顯示8,因為這是根據矩陣建立時所分配的矩陣元素索引來訪問相關資料。當然,也可以通過下標法來訪問這些資料,如輸入c(2,2),訪問的是矩陣中8這個元素,系統顯示8,輸入c(3,3),訪問的則是該矩陣索引為9的元素,系統顯示6.,當矩陣的空間分配完成後,也就是建立好矩陣之後,如果訪問超出最大索引,則系統會提示錯誤,輸入c(10),系統會提示錯誤,輸入c(4,1),系統同樣也會提示錯誤,因為訪問已經超出了矩陣的最大範圍。訪問過程是如此,當我們向已經定義好即分配好儲存空間的矩陣中賦值時也要注意,具體情況可分以下四種

(1)向定義的多行多列的矩陣中賦值,該賦值要在已定義好的矩陣空間內,不可超出最大索引範圍,如我們可以輸入c(8)=2,該語句是將矩陣c中索引為8的元素7修改為2,也可以用下標法修改該值,輸入c(2,3)=2,作用和c(8)=2這個語句是一樣的,但是當我們輸入c(10)=2的時候,系統就會提示錯誤,因為該索引已經超出了已經定義好的多行多列矩陣的索引範圍,所以系統會報錯。

(2)向單行多列的矩陣中賦值,向該種型別的矩陣中賦值時我們就不用擔心會超過最大索引範圍,在單行多列的矩陣中,如果賦值時超過了最大索引範圍,該矩陣會按照行的順序,自動在後面增加列,以便將我們的賦值操作增加進去,如我們輸入a(2)=7,該操作則會將矩陣a中索引為2的元素值修改為7,同樣也可以用下標法進行操作,即a(1,2)=7,當我們輸入a(4)=3的時候,就矩陣來說,已經超過了最大索引範圍,但是由於矩陣a 是單行多列的矩陣,因此系統會自動為矩陣a重新分配空間,即矩陣a 會由原來的一行三列的矩陣增加成為一行四列的矩陣。

(3)向多行單列的矩陣中賦值,同樣的在向這種型別的矩陣中賦值的時候,我們也不用擔心會超過最大索引範圍,在多行單列的矩陣中,如果賦值時超過了最大索引範圍,該矩陣會按照列的順序,自動在下面增加行,以便我們的賦值操作可以完成,如果我們輸入b(2)=7,該操作則會將矩陣b中索引為2的元素值修改為5,同樣也可以用下標法進行操作,即b(2,1)=7,當我們輸入b(4)=9的時候,就該矩陣來說,已經超過了最大索引範圍,但是由於b矩陣是多行單列的矩陣,因此系統會自動為矩陣b重新分配空間,即矩陣b會由原來的三行一列的矩陣增加為四行一列。

(4)向單行單列的矩陣中賦值,在單行單列的矩陣中,如d(1)=3,該語句會按照索引將原來索引為一的元素修改為3,但是如果輸入d(2)=5,該矩陣並不會報錯,而是會按照行的順序,在後面為矩陣重新分配空間,即矩陣d變成一行兩列的矩陣索引為2的元素值即為我們剛剛所賦上的值,雖然在定義好的多行多列的矩陣中索引的順序是按照列順序賦予的,但是在單行單列的矩陣中,新的索引的增加是按照行的順序進行的。

Matlab矩陣與矩陣運算

1.矩陣的建立函式 特殊矩陣 a.矩陣轉置 inv a 矩陣求逆 sparse a 稀疏矩陣 full a 將稀疏矩陣轉換為普通矩陣 eye n n階單位矩陣 zeros m,n m n的零矩陣 ones m,n m n的元素全為1的矩陣 rand m,n m n的隨機矩陣,元素在0 1間均勻分布 ...

matlab中的矩陣用法

1 矩陣的輸入 a 1,2,3 4,5,6 7,8,9 要直接輸入矩陣時,矩陣一行中的元素用空格或逗號隔開 矩陣行與行之間用分號 隔開,這個矩陣放在方括號 裡。a 1,2,3 矩陣的分行輸入 4,5,6 7,8,9 a 1 2 3 4 5 6 7 8 9 說明 指令執行後,矩陣a被儲存在matlab...

Matlab陣列與矩陣

用logspace 建立一維陣列 1 x logspace a,b 建立行向量x,第乙個元素為10的a次冪,最後乙個為10的b次冪,形成總數50個元素的等比數列。2 x logspace a,b,n 建立行向量,第乙個元素為10的a次冪,最後乙個為10的b次冪,形成總數n個元素的等比數列。用lins...