- 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 - 返回語句
- 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 - 二維線圖
- 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 是一種強大的語言,它允許你使用它進行大量的解決問題、資料分析、矩陣和向量運算以及科學計算等工作。
Matlab 有豐富的庫和軟體資源,可以簡化你的工作。在這裡,我們將討論 Matlab 中的資料歸一化。
歸一化處理指的是組織資料。我們將學習如何在 Matlab 中進行資料歸一化,也就是組織資料。
歸一化是資料分析中最常見的步驟,它將資料集的值縮放到特定範圍,通常在 0 到 1 之間。在 Matlab 中,可以使用 `normalize` 函式對資料集進行歸一化。`normalize` 函式具有多種選項,包括範圍和可執行的歸一化型別。
語法
N = normalize(X) N = normalize(X,dim) N = normalize(___,method) N = normalize(___,method,methodtype)
讓我們用描述和示例來理解每個語法。
N = normalize(X)
此函式將返回 X 的 z 分數資料,中心值為 0,標準差為 1。
Z 分數衡量的是資料點與平均值的標準差數。
Z 分數的公式為:
$$\mathrm{Z=\frac{(x\: -\:\mu )}{\sigma }}$$
其中 x = 觀測值或資料點。
$\mathrm{\mu}$ 是平均值
$\mathrm{\sigma}$ 是標準差。
對於 `normalize` 方法,輸入 X 可以是向量、矩陣、多維陣列或表格。
以下是 `normalize` 函式根據輸入進行操作的方式:
- 如果給定的輸入 X 是向量,則 `normalize` 函式將對 X 中的所有向量進行操作。
- 如果給定的輸入 X 是矩陣,則 `normalize` 函式將分別對 X 中的每一列進行操作。
- 如果給定的輸入 X 是多維陣列,則 `normalize` 函式將首先對 X 的第一個大小不等於 1 的維度進行操作。
- 如果給定的輸入 X 是表格或時間表,則 `normalize` 函式將分別對 X 的每個變數進行操作。
讓我們看幾個使用 `normalize(X)` 函式的例子。
示例 1
在下面的示例中,我們將使用 X 作為向量
X = 1:10; N = normalize(X)
在 Matlab 中執行後,輸出如下:
>> X = 1:10; N = normalize(X) N = -1.4863 -1.1560 -0.8257 -0.4954 -0.1651 0.1651 0.4954 0.8257 1.1560 1.4863 >>
示例 2
在下面的示例中,我們將使用 X 作為矩陣。
X = magic(3) N = normalize(X)
在 Matlab 中執行後,輸出如下:
>> X = magic(3)
N = normalize(X)
X =
8 1 6
3 5 7
4 9 2
N =
1.1339 -1.0000 0.3780
-0.7559 0 0.7559
-0.3780 1.0000 -1.1339
N = normalize(X,dim)
在上面的語法中,`dim` 是矩陣 X 的維度。根據給定的維度,`normalize` 函式將對該維度進行操作。例如,如果給定的維度是 2,則 `normalize` 函式將對每一行進行操作。
示例
X = magic(3) N = normalize(X, 2)
在 Matlab 中執行後,輸出如下:
>> X = magic(3)
N = normalize(X, 2)
X =
8 1 6
3 5 7
4 9 2
N =
0.8321 -1.1094 0.2774
-1.0000 0 1.0000
-0.2774 1.1094 -0.8321
>>
N = normalize(___,method)
在此語法中,歸一化將根據給定的方法進行操作。可以使用的方法包括 center、scale、norm、range 和 zscore。
示例
在此示例中,我們將使用向量作為 X,並將方法設定為 `scale`。
X = 1:5; N = normalize(X,"scale")
在 Matlab 中執行後,輸出為
>> X = 1:5;
N = normalize(X,"scale")
N =
0.6325 1.2649 1.8974 2.5298 3.1623
讓我們嘗試使用 range 方法進行相同的示例
>> X = 1:5; N = normalize(X,"range") N = 0 0.2500 0.5000 0.7500 1.0000 >>
N = normalize(___,method,methodtype)
在這裡,`normalize` 函式將根據給定的 method 和 methodtype 進行操作。
以下是 method 和 methodtype 的組合。
| 方法 | 方法型別 | 描述 |
|---|---|---|
| zscore | std (預設) | 獲取 z 分數值。將資料中心設定為平均值為 0,並將資料縮放為標準差為 1。 |
| robust | 計算 z 分數值,資料中心設定為平均值為 0,並將資料縮放為中位數絕對偏差為 1。 | |
| norm | 正數值標量(預設為 2) | 使用 p 範數作為歸一化因子,其中 p 是正整數。 |
| Inf | 使用 p 範數作為歸一化因子,其中 p 為無窮大。 | |
| scale | std (預設) | 將資料縮放為標準差為 1。 |
| mad | 在縮放資料的同時,將中位數絕對偏差設定為 1。 | |
| first | 使用資料的第一個元素進行縮放。 | |
| iqr | 使用四分位距範圍縮放資料 | |
| 數值陣列 | 使用數值陣列縮放資料。 | |
| 表格 | 使用表格變數縮放資料。 | |
| range | 2 元素行向量(預設為 [0 1]) | 將資料的範圍重新縮放為 [a b],其中 a < b。 |
| center | "mean" (預設) | 將資料中心設定為平均值為 0。 |
| "median" | 將資料中心設定為平均值為 0。 | |
| 數值陣列 | 使用數值陣列作為資料中心。 | |
| 表格 | 使用表格變數作為資料中心。 |
示例 1
在此示例中,我們將使用 `norm` 方法和正整數作為 methodtype。
X = 1:5; N = normalize(X,"norm",2)
在 Matlab 命令視窗中執行上述程式碼後,輸出如下:
>> X = 1:5;
N = normalize(X,"norm",2)
N =
0.1348 0.2697 0.4045 0.5394 0.6742
>>
示例 2
在此示例中,我們將使用 `center` 作為方法,並將 `mean` 作為 methodtype。
X = 1:5; N = normalize(X,"center","mean")
在 Matlab 命令視窗中執行後,輸出如下:
>> X = 1:5;
N = normalize(X,"center","mean")
N =
-2 -1 0 1 2
>>