
- 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 End 語句
- 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 - 返回語句
- MATLAB - 空函式
- MATLAB - 區域性函式
- MATLAB - 全域性變數
- MATLAB - 函式控制代碼
- MATLAB - 濾波器函式
- 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 - 2D 線性圖
- MATLAB - 3D 圖形
- MATLAB - 格式化圖形
- MATLAB - 對數座標軸圖形
- MATLAB - 繪製誤差線
- MATLAB - 繪製 3D 等值線圖
- MATLAB - 極座標圖
- MATLAB - 散點圖
- MATLAB - 繪製表示式或函式
- MATLAB - 繪製矩形
- MATLAB - 繪製頻譜圖
- MATLAB - 繪製網格曲面
- MATLAB - 繪製正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 線性插值
- MATLAB - 2D 陣列插值
- MATLAB - 3D 陣列插值
- MATLAB - 多項式
- MATLAB - 多項式
- MATLAB - 多項式加法
- MATLAB - 多項式乘法
- MATLAB - 多項式除法
- MATLAB - 多項式的導數
- MATLAB - 變換
- MATLAB - 變換
- MATLAB - 拉普拉斯變換
- MATLAB - 拉普拉斯濾波器
- MATLAB - 高斯-拉普拉斯濾波器
- MATLAB - 逆傅立葉變換
- MATLAB - 傅立葉變換
- MATLAB - 快速傅立葉變換
- MATLAB - 2D 逆餘弦變換
- 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 中,當陣列共享相同的資料型別和大小,或者其中一個為標量時,這些陣列被認為是相容的。在 MATLAB 中執行逐元素運算或函式時,大小相容的陣列會自動擴充套件以與彼此的維度對齊。
MATLAB 相容陣列可以儲存各種型別的資料,包括數字、字串、邏輯值等。它們特別適合處理數值資料,這使得 MATLAB 成為科學和工程應用的強大工具。
以下是一些具有相容大小的標量、向量和矩陣的示例。
行向量和列向量相容性
行向量和列向量始終具有相容的大小,即使它們的大小和長度不同。對這些向量進行算術運算會導致建立矩陣。
示例 1
假設您有一個 2x2 矩陣。此外,輸出也是一個 2x2 矩陣。
matrix1 = [1, 2; 3, 4] matrix2 = [5, 6; 7, 8]
在此示例中,matrix1 和 matrix2 是兩個 2x2 矩陣。當您在 MATLAB 命令視窗中檢視輸出時,matrix1 和 matrix2 將如下所示顯示。
>> matrix1 = [1, 2; 3, 4] matrix2 = [5, 6; 7, 8] matrix1 = 1 2 3 4 matrix2 = 5 6 7 8 >>
現在讓我們對其執行加法,如下所示:
result = matrix1 + matrix2
現在,當您在 MATLAB 命令視窗中執行上述程式碼行時,輸出如下:
>> result = matrix1 + matrix2 result = 6 8 10 12 >>
您可以看到,逐元素相加兩個 2x2 矩陣的結果也是一個 2x2 矩陣,其中相應的元素相加。
示例 2
將標量新增到 2x2 矩陣。
matrix = [1, 2; 3, 4] scalar = 5
在此示例中,matrix 是一個 2x2 矩陣,scalar 是一個標量值。當您在 MATLAB 命令視窗中檢查它時,您將得到:
>> matrix = [1, 2; 3, 4] scalar = 5 matrix = 1 2 3 4 scalar = 5
現在讓我們將標量與矩陣相加,如下所示:
result = matrix + scalar
現在讓我們在 MATLAB 的命令視窗中檢查上述內容:
>> result = matrix + scalar result = 6 7 8 9 >>
您可以看到,原始矩陣的每個元素都增加了標量值,最終得到一個新的 2x2 矩陣。
示例 3
這裡我們將使用 4x2 矩陣並將其新增到一個 4x1 列向量中。
matrix = [1, 2; 3, 4; 5, 6; 7, 8] column_vector = [10; 20; 30; 40]
當您在 MATLAB 命令視窗中檢查上述內容時,我們得到:
>> matrix = [1, 2; 3, 4; 5, 6; 7, 8] column_vector = [10; 20; 30; 40] matrix = 1 2 3 4 5 6 7 8 column_vector = 10 20 30 40 >>
這裡矩陣是 4x2 矩陣,即它有 4 行 2 列。我們有列向量 4x1,即 4 行 1 列。
讓我們將兩者相加,我們將看到行保持不變,即輸出將具有 4x2 的大小。
result = matrix + column_vector
現在,當您在 MATLAB 命令視窗中檢查輸出時,結果為:
>> result = matrix + column_vector result = 11 12 23 24 35 36 47 48 >>
列向量中的每個元素都已新增到原始矩陣的相應列中,最終得到一個新的 4x2 矩陣。
示例 4
這裡我們將看到將列向量與行向量相加的結果。
column_vector = [1; 2; 3; 4] row_vector = [5, 6, 7, 8]
讓我們在 MATLAB 命令視窗中檢查輸出:
>> column_vector = [1; 2; 3; 4] row_vector = [5, 6, 7, 8] column_vector = 1 2 3 4 row_vector = 5 6 7 8 >>
列向量的大小為 4x1,行向量的大小為 1x4。
現在讓我們看看將兩者相加的結果。
result = column_vector + row_vector
MATLAB 命令視窗中的輸出為:
>> result = column_vector + row_vector result = 6 7 8 9 7 8 9 10 8 9 10 11 9 10 11 12 >>
結果矩陣的大小為 4x4。列向量中的每個元素都新增到行向量中相應的元素中,從而得到一個矩陣,其中每個元素都是輸入向量中相應元素的總和。
示例 5
讓我們也對行向量和列向量執行一個乘法和減法運算。
column_vector = [1; 2; 3; 4] row_vector = [5, 6, 7, 8] result = column_vector * row_vector
當您在 MATLAB 命令視窗中執行相同操作時,輸出為:
>> column_vector = [1; 2; 3; 4] row_vector = [5, 6, 7, 8] result = column_vector * row_vector column_vector = 1 2 3 4 row_vector = 5 6 7 8 result = 5 6 7 8 10 12 14 16 15 18 21 24 20 24 28 32 >>
現在讓我們執行減法運算。
column_vector = [1; 2; 3; 4] row_vector = [5, 6, 7, 8] result = column_vector - row_vector
當您在 MATLAB 命令視窗中執行相同操作時,輸出為:
>> column_vector = [1; 2; 3; 4] row_vector = [5, 6, 7, 8] result = column_vector - row_vector column_vector = 1 2 3 4 row_vector = 5 6 7 8 result = -4 -5 -6 -7 -3 -4 -5 -6 -2 -3 -4 -5 -1 -2 -3 -4 >>