matlab筆記2 矩陣基礎,運算子,字串

2021-08-21 04:40:44 字數 2271 閱讀 4676

直接賦值:

用分號分成不同行

函式構造:

可以構造的特殊矩陣有:n*n單位/0/1矩陣,多維單位/0/1矩陣(即多維陣列),與已知相同大小的單位/0/1矩陣,(單位矩陣最多構造二維),行列之和相等的方陣,均勻隨機數/正態分佈隨機數方陣/多維矩陣,對角方陣,取對角線或移動的列向量,上下三角矩陣。詳見p40~41

注意:單個實數或者複數在matlab裡面都是以矩陣的形式儲存的,單個資料或者單個資料構造矩陣都是標量

可以做到的改變有:每一行/列進行逆序排列,逆時針旋轉k*90°,逆變換,公升序(有好幾個不明白)詳見p44~45

索引分為單下標索引和雙下標索引,其中單下標索引是採用列元素優先原則。

索引的表示方法都不會改變原來的矩陣

通過下標搜尋:索引某行/列,第j~k行/列,矩陣一部分,每一列合在一起,合在一起的向量的一部分或幾個值(用行向量表示),任意那幾行/列的向量,任意行列交叉的元素。

單雙下標索引互換:ind = sub2ind(name,i,j)和 [i j] = ind2sub(name,ind)

訪問多個矩陣元素

「:」表示一整行/列的所有元素,求單個行列的式子就可以寫成sum(a(: , 4))和sum(a(4. : ))要是想單獨求對應的幾個數,則「:」前後寫上數字即可。其中可用end表示最後的數。而表示不相鄰的數也可以是寫兩個冒號,中間是步長。

矩陣資訊包括:矩陣結構,大小,維度,資料型別,記憶體占用...

矩陣結構:

就是矩陣子元素的排列方式,通過函式可以檢測出是否為空,單元素的標量矩陣,是否只是一維向量,稀疏矩陣

矩陣大小:

函式實現了獲取維數,各維數上的長度,最長的維數,元素的個數

矩陣維度:

預設空矩陣,標量矩陣,一維矩陣,二維矩陣是作為普通陣列對待,利用ndims(a)判斷矩陣維度即可

矩陣的資料型別:

通過函式判斷資料型別,可判斷的有數值型,實數數值,浮點數數值,整數型,邏輯型,字元型,結構體型,元胞型,結構體的元胞型(cell)是為1,不是為0        (p50)

矩陣占用的記憶體:

直接用whos即可 例如 whos name,輸出的是變數名,矩陣大小,記憶體占用,資料型別

矩陣儲存載入:

利用「:」尋訪,這是雙下標的方式,或者乙個數字尋訪,這是單下標的方式。

元素的擴充套件:直接為矩陣暫時不存在的區域賦值,未賦滿的地方自動填充0

元素的刪除:直接為矩陣存在的區域賦空值:[ ]

函式處理矩陣:cat(1/2,a,b)按照行/列合併矩陣,horzcat(a,b)vertcat(a,b)水平,豎直合併矩陣,複製矩陣構造新矩陣,利用已知矩陣構造塊對角化矩陣

優先順序:算數運算子》關係運算子》邏輯運算子

直接符號表示:

a.*b為a與b相應元素相乘,前提維度相同

a./b為a與b相應元素相除,前提也是維度相同

a.^b為a的每個元素的b次冪,a是矩陣

函式表示:

三角函式以及反三角函式6個

e為底指數,10,e為底對數,平方根,取餘

返回最小/最大值

找到陣列的平均數,中位數,和,連乘,累計和,累計連乘(區別在於乙個矩陣中單列和所有)

判斷在0的哪一側

向量的差分,排序,求傅利葉變換,求秩

通過關係運算子比較兩個向量或者矩陣,得到的是真假值的向量或者矩陣

any(a) all(a)分別是只要有非零的就返回1和所有元素非零返回1

有關字串函式,檢視p62

構造:若構造多行字串時,除非每個字串的長度相同可以用[ ],否則必須用

連線:strvate忽略空字串的縱向連線,char不會忽略空字串的縱向連線,連線完成後,所有行不足最長的用空格補齊

比較:除了關係運算子比較,可以用strcmp比較,這樣輸出僅為乙個1或者0

查詢:findstr(name, ' 需要搜尋的內容 ') 結果會直接給出這個內容的位置起點

替換:直接賦值即可替換name(1:3)=『aaa』或者利用函式name=strrep(name,『以前的內容』,『現在的內容』)

數制轉換:大小寫,資料型別,轉換成矩陣,轉換成ascii碼等

MATLAB基礎筆記 2(陣列與矩陣)

a 1 2 3 生成列向量b 1,2,3 生成行向量c 123 a 1 2 6b 1 6 b linspace 1 6,6 b 1 6 a 1 2345 a3 a 3 提取第3個元素 a1 1 23 4 56 7 89 a2 1 2,3 4,5 6 7 8,9 a3 1 23 4 56 789 函式...

MATLAB矩陣運算

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

matlab矩陣運算

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