- Matlab 教程
- MATLAB - 首頁
- MATLAB - 概述
- MATLAB - 功能
- MATLAB - 環境設定
- MATLAB - 編輯器
- MATLAB - 線上版
- MATLAB - 工作區
- MATLAB - 語法
- MATLAB - 變數
- MATLAB - 命令
- MATLAB - 資料型別
- MATLAB - 運算子
- MATLAB - 日期和時間
- MATLAB - 數字
- MATLAB - 隨機數
- MATLAB - 字串和字元
- MATLAB - 文字格式化
- MATLAB - 時間表
- MATLAB - M 檔案
- MATLAB - 冒號表示法
- MATLAB - 資料匯入
- MATLAB - 資料匯出
- MATLAB - 資料歸一化
- MATLAB - 預定義變數
- MATLAB - 決策
- MATLAB - 決策語句
- MATLAB - if 語句
- MATLAB - if-else 語句
- MATLAB - if-elseif-else 語句
- MATLAB - 巢狀 if 語句
- MATLAB - switch 語句
- MATLAB - 巢狀 switch
- MATLAB - 迴圈
- MATLAB - 迴圈
- MATLAB - for 迴圈
- MATLAB - while 迴圈
- MATLAB - 巢狀迴圈
- MATLAB - break 語句
- MATLAB - continue 語句
- MATLAB - end 語句
- MATLAB - 陣列
- MATLAB - 陣列
- MATLAB - 向量
- MATLAB - 轉置運算子
- MATLAB - 陣列索引
- MATLAB - 多維陣列
- MATLAB - 相容陣列
- MATLAB - 分類陣列
- MATLAB - 元胞陣列
- MATLAB - 矩陣
- MATLAB - 稀疏矩陣
- MATLAB - 表格
- MATLAB - 結構體
- MATLAB - 陣列乘法
- MATLAB - 陣列除法
- MATLAB - 陣列函式
- MATLAB - 函式
- MATLAB - 函式
- MATLAB - 函式引數
- MATLAB - 匿名函式
- MATLAB - 巢狀函式
- MATLAB - return 語句
- MATLAB - 無返回值函式
- MATLAB - 區域性函式
- MATLAB - 全域性變數
- MATLAB - 函式控制代碼
- MATLAB - filter 函式
- MATLAB - 階乘
- MATLAB - 私有函式
- MATLAB - 子函式
- MATLAB - 遞迴函式
- MATLAB - 函式優先順序
- MATLAB - map 函式
- MATLAB - mean 函式
- MATLAB - end 函式
- MATLAB - 錯誤處理
- MATLAB - 錯誤處理
- MATLAB - try...catch 語句
- MATLAB - 除錯
- MATLAB - 繪圖
- MATLAB - 繪圖
- MATLAB - 繪製陣列
- MATLAB - 繪製向量
- MATLAB - 條形圖
- MATLAB - 直方圖
- MATLAB - 圖形
- MATLAB - 二維線圖
- MATLAB - 三維圖
- MATLAB - 格式化繪圖
- MATLAB - 對數座標軸圖
- MATLAB - 繪製誤差條
- MATLAB - 繪製三維等值線圖
- MATLAB - 極座標圖
- MATLAB - 散點圖
- MATLAB - 繪製表示式或函式
- MATLAB - 繪製矩形
- MATLAB - 繪製頻譜圖
- MATLAB - 繪製網格曲面
- MATLAB - 繪製正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 線性插值
- MATLAB - 二維陣列插值
- MATLAB - 三維陣列插值
- MATLAB - 多項式
- MATLAB - 多項式
- MATLAB - 多項式加法
- MATLAB - 多項式乘法
- MATLAB - 多項式除法
- MATLAB - 多項式的導數
- MATLAB - 變換
- MATLAB - 變換函式
- MATLAB - 拉普拉斯變換
- MATLAB - 拉普拉斯濾波器
- MATLAB - 高斯-拉普拉斯濾波器
- MATLAB - 逆傅立葉變換
- MATLAB - 傅立葉變換
- MATLAB - 快速傅立葉變換
- MATLAB - 二維逆餘弦變換
- MATLAB - 向座標軸新增圖例
- MATLAB - 面向物件
- MATLAB - 面向物件程式設計
- MATLAB - 類和物件
- MATLAB - 函式過載
- MATLAB - 運算子過載
- MATLAB - 使用者自定義類
- MATLAB - 複製物件
- MATLAB - 代數
- MATLAB - 線性代數
- MATLAB - 高斯消元法
- MATLAB - 高斯-約當消元法
- MATLAB - 簡化行階梯形
- MATLAB - 特徵值和特徵向量
- MATLAB - 積分
- MATLAB - 積分
- MATLAB - 二重積分
- MATLAB - 梯形法則
- MATLAB - 辛普森法則
- MATLAB - 其他
- MATLAB - 微積分
- MATLAB - 微分
- MATLAB - 矩陣的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用資源
- MATLAB - 快速指南
- MATLAB - 有用資源
- MATLAB - 討論
MATLAB - 矩陣
矩陣是一個二維數字陣列。
在 MATLAB 中,您可以透過輸入每一行中以逗號或空格分隔的數字作為元素,並使用分號來標記每一行的結尾來建立矩陣。
例如,讓我們建立一個 4x5 的矩陣 a:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
MATLAB 將執行上述語句並返回以下結果:
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
引用矩陣的元素
要引用矩陣 mx 中第 m 行和第 n 列的元素,我們寫:
mx(m, n);
例如,要引用上一節中建立的矩陣 a 的第 2 行和第 5 列的元素,我們鍵入:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(2,5)
MATLAB 將執行上述語句並返回以下結果:
ans = 6
要引用第 m 列中的所有元素,我們鍵入 A(:,m)。
讓我們從矩陣 a 的第 4 行的元素建立一個列向量 v:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; v = a(:,4)
MATLAB 將執行上述語句並返回以下結果:
v =
4
5
6
7
您也可以選擇第 m 列到第 n 列的元素,為此我們編寫:
a(:,m:n)
讓我們建立一個較小的矩陣,取第二列和第三列的元素:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(:, 2:3)
MATLAB 將執行上述語句並返回以下結果:
ans =
2 3
3 4
4 5
5 6
同樣,您可以建立一個子矩陣,取矩陣的一部分。
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(:, 2:3)
MATLAB 將執行上述語句並返回以下結果:
ans =
2 3
3 4
4 5
5 6
同樣,您可以建立一個子矩陣,取矩陣的一部分。
例如,讓我們建立一個子矩陣 sa,取 a 的內部子部分:
3 4 5 4 5 6
為此,編寫:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; sa = a(2:3,2:4)
MATLAB 將執行上述語句並返回以下結果:
sa =
3 4 5
4 5 6
刪除矩陣中的一行或一列
您可以透過將空方括號 [] 分配給該行或列來刪除矩陣的整行或整列。基本上,[] 表示空陣列。
例如,讓我們刪除 a 的第四行:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a( 4 , : ) = []
MATLAB 將執行上述語句並返回以下結果:
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
接下來,讓我們刪除 a 的第五列:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(: , 5)=[]
MATLAB 將執行上述語句並返回以下結果:
a =
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
示例
在這個例子中,讓我們建立一個 3x3 的矩陣 m,然後我們將複製這個矩陣的第二行和第三行兩次來建立一個 4x3 的矩陣。
使用以下程式碼建立一個指令碼檔案:
a = [ 1 2 3 ; 4 5 6; 7 8 9]; new_mat = a([2,3,2,3],:)
執行該檔案時,它將顯示以下結果:
new_mat =
4 5 6
7 8 9
4 5 6
7 8 9
矩陣運算
在本節中,讓我們討論以下基本且常用的矩陣運算:
廣告