MatLab矩陣操作一

2022-09-12 18:09:12 字數 1263 閱讀 5711

矩陣的建立

直接輸入元素:

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結尾值

a=1:3:15

a=[1 4 7 10 13]

linspace(a,b,n)函式

a,b分別為首尾元素 n為元素個數

矩陣的操作

索引元素

a=[1 2 3

4 5 6

7 8 9]

a(2,3)是6 注意matlab中座標從1開始

a(8)為6 matlab中矩陣按列順序儲存

find(a==6)輸出為8

[m,n]=find(a==6) m=2 n=3

若有重複元素則將所有位置輸出,m,n則作為1*2向量

座標表示方法轉換

sub2ind(size(a),m,n) 第乙個引數為矩陣大小,m,n為行列座標 

sub2ind(size(a),2,3) 輸出為8 其中size(a)實際為[3 3]

[m,n]=ind2sub(size(a),8) m=2,n=3

重排矩陣

reshape(a,m,n) 將a重新排列為m*n的矩陣若元素個數不符則不可執行

reshape(a,1,9)或reshape(a,9,1)

b=a(:) 將a轉變成列矩陣

轉置矩陣

b=a' b和a則互為轉置矩陣

矩陣拆分

a(m,n) 獲取單個元素

a(m,:) 獲取a的m行所有元素

a(:,n) n列的所有元素

a(m:n,j:k) m-n行j-k列的元素

a(m,n:end) m行n到最後列元素,若不知道行列大小情況可以使用end

a([m,n],[k,j]) 獲取所有組合到的元素

刪除元素

a(1)= 第乙個元素被刪除,剩餘元素變為行矩陣

a(m:) 刪除第m行元素 也可以直接刪除某列

擴充套件與壓縮

repmat(a,[m,n]) 將a的行複製m次,列複製n次

unique(a) 將重複元素刪除

unique(a,'rows') 刪除重複的行

---恢復內容結束---

matlab 矩陣操作

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

matlab矩陣的操作

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

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 ...