2.1矩陣的建立與合併
1、由於matlab是基於矩陣運算的,所以使用者輸入的所有資料均被儲存為矩陣或陣列。即使是單個變數,如:a=1
whos命令可以檢視工作空間內儲存的變數的資訊
建立矩陣: 這個識別符號
相鄰元素用逗號或者空格分隔
換行用分號
使用「初值:步長:終值」可以建立向量(即行向量、列向量)
如: a=2:2:20
步長可以是正、負、小數。
2、常見的設定特殊矩陣的函式
zeros 建立所有的元素為0
diag 建立對角陣(引數是矩陣)
ones 建立所有元素為1
eye 建立單位矩陣
magic 建立魔方陣
pascal 建立pascal矩陣
randn 產生正態分佈矩陣
randperm 產生指定整數元素隨機分布的矩陣
如:
為了使randn每次生成的東西一樣,可以設定隨機種子狀態。 rand(『state』,0)
加粗樣式
3、矩陣的合併
是指將多個矩陣合併為乙個矩陣。用識別符號。
c=[a b] 是在水平方向上將a b合併
c=[a;b] 是在豎直方向上將a,b合併
需要注意保持維度一致。
即水平合併行數一致,豎直合併列數一致。
2.2 矩陣的尋訪與賦值
1、全下標標識法:
即指明行列。如a(2,3),不過這裡面的行列是從1開始計算的。
2、單下標標識法:
矩陣的儲存模式是從上到下,從左到右串成一豎列,然後,進行編號。
例:m*n的矩陣,某元素的位置是"第a行,第b列",那麼對應的單下標就是c=(b-1)+a.
sub2ind:根據全下標換算單下標
ind2sub:根據單下標換算全下標
單下標優點:
寫迴圈時乙個變數就夠了
將陣列賦給一維時方便
3、邏輯1標識法
在尋找矩陣中大於或小於某值的元素問題。
先建立基於矩陣的邏輯陣列,即滿足條件的地方為true,其他的為假。
再將邏輯陣列作為矩陣的標識。
4、舉例:
1、a(2,3) 全下標訪問
2、a(3) 單下標訪問
3、a(:,1) 冒號訪問全列
4、a(1,:) 冒號訪問全行
5、a(? 單下標形式訪問所有
6、a(:,[1,2]) 向量,訪問多行或多列
賦值:a(2,3)=1 單個元素賦值
a(:,1)=1 對列賦值或對行賦值
a(2)=1 單下標標識法賦值
2.3 進行矩陣運算的常用函式
很多,記住兩點,第一:是作用於每乙個矩陣元素上,第二:會產生乙個行列與原陣列一樣的矩陣。
2.4 查詢矩陣資訊
1、矩陣形狀資訊
length 返回矩陣最長的那一維的長度
ndims 返回矩陣的維度
numel 返回矩陣的元素個數
size 返回矩陣各維的長度
3、矩陣的資料結構
isempty 判斷矩陣是否為空
isscalar 判斷矩陣是否是1*1的標量
issparse 判斷輸入的矩陣是否為稀疏矩陣
isvector 判斷矩陣是否為向量
2.5 陣列運算和矩陣運算
在matlab中通常矩陣和陣列時不區分的。但在運算上兩者是有一定區別的。
如下:
2.6 矩陣的重構
1、矩陣元素的擴充套件
擴充套件多行多列,指定乙個比原矩陣行列都大的地方,賦值,其他地方自動填為0
擴充套件列:a(:,m)=k,使第m列全部為k(k為常數或向量),擴充套件行類似。
2、矩陣元素的刪除
將指定的行或列設定為空向量,可以刪除行或列。
如a(:,1)= %刪除第一列
3、矩陣的重構:在tril()與triu()函式中,k指對角線,主對角線k=0
matlab學習筆記第二章 矩陣
1.我們可以在陣列上進行左除和右除。這時陣列元素與元素匹配相除,因此兩陣列必須等大。例如,我們用 讓matlab進行陣列右除 a 2 4 6 8 b 2 2 3 1 c a b c 1 2 2 8 2.要建立n n的單位矩陣,輸入matlab命令 eye n 要建立n n的零矩陣,我們輸入zeros...
《Qt Creator快速入門》第二章總結
1.第1,2和22行是預處理指令,避免該標頭檔案多重包含。命名空間ui中的前置宣告是為了加快編譯速度,也可以避免在乙個標頭檔案中隨意包含其他標頭檔案而產生錯誤。這並不需要該類的完整定義,所以可以使用前置宣告。這樣就不用在這裡新增ui hellodialog.h的標頭檔案包含,而可以將其放到hello...
SpringBoot入門 第二章 日誌配置
springboot預設整合了slf4j日誌。xml version 1.0 encoding utf 8 格式化輸出 date表示日期,thread表示執行緒名,5level 級別從左顯示5個字元寬度 msg 日誌訊息,n是換行符 logger 表示 logger 名字最長36個字元 log pa...