- 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 >>