rms
均方根值
说明
示例
向量的 RMS 值
矩阵列的 RMS 值
矩阵行的 RMS 值
创建一个矩阵,并通过将维度指定为 2 来计算每行的 RMS 值。
x = [6 4 23 -3; 9 -10 4 11; 2 8 -5 1]; y = rms(x,2)
y = 3×1
12.1450
8.9163
4.8477
数组页的 RMS 值
创建一个三维数组并计算每页数据(行和列)的 RMS 值。
x(:,:,1) = [2 4; -2 1]; x(:,:,2) = [9 13; -5 7]; x(:,:,3) = [4 4; 8 -3]; y = rms(x,[1 2])
y = y(:,:,1) = 2.5000 y(:,:,2) = 9 y(:,:,3) = 5.1235
排除缺失值的 RMS
创建一个包含 NaN
值的矩阵。
x = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19];
计算矩阵的 RMS 值,不包括 NaN
值。对于包含任一 NaN
值的矩阵列,rms
使用非 NaN
元素进行计算。对于包含的值都是 NaN
的矩阵列,RMS 为 NaN
。
y = rms(x,"omitnan")
y = 1×4
1.7700 0.2404 NaN 2.0903
输入参数
x
— 输入数组
向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵或多维数组。
数据类型: single
| double
| logical
| char
复数支持: 是
dim
— 沿其运算的维度
正整数标量
沿其运算的维度,指定为正整数标量。如果不指定维度,则默认为第一个大于 1 的数组维度。
维度 dim
表示长度减至 1
的维度。size(y,dim)
为 1
,而所有其他维度的大小保持与 x
相同。
以一个 m
×n
输入矩阵 x
为例:
y = rms(x,1)
计算x
的每列中元素的 RMS 值,并返回一个1
×n
行向量。y = rms(x,2)
计算x
的每行中元素的 RMS 值,并返回一个m
×1
列向量。
vecdim
— 维度向量
正整数向量
要沿其运算的维度组成的向量,指定为正整数向量。每个元素代表输入数组的一个维度。在指定的运算维度中输出的长度为 1,而其他维度长度保持与输入相同。
例如,如果 x
是一个 2×3×3 数组,则 rms(x,[1 2])
返回一个 1×1×3 数组,其元素是 x
的每个页面的 RMS 值。
nanflag
— 缺失值条件
"includemissing"
(默认) | "includenan"
| "omitmissing"
| "omitnan"
缺失值条件,指定为下列值之一:
"includemissing"
或"includenan"
- 在计算 RMS 时包括x
中的NaN
值。如果运算维度中的任一元素是NaN
,则y
中的对应元素也是NaN
。"includemissing"
和"includenan"
具有相同的行为。"omitmissing"
或"omitnan"
- 在计算 RMS 时忽略x
中的NaN
值。如果运算维度中的所有元素都是NaN
,则y
中的对应元素是NaN
。"omitmissing"
和"omitnan"
具有相同的行为。
详细信息
均方根值
数组 x 的均方根值为
(沿指定的维度执行求和)。
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
如果提供了
dim
、vecdim
和nanflag
,则它们必须为常量。对于可变大小输入,请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)中的自动维度限制。
代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2012a 中推出R2023a: 指定缺失值条件
使用 "includemissing"
或 "omitmissing"
选项计算 RMS 时,包括还是忽略输入数组中的所有缺失值。这些选项的行为分别与 "includenan"
和 "omitnan"
选项相同。
R2022a: 计算所有元素的 RMS
现在,您可以通过指定 "all"
来计算输入数组中所有元素的 RMS 值。例如,rms(x,"all")
返回输入数组 x
中所有元素的 RMS 值。
R2022a: 沿多个维度计算 RMS
现在,您可以通过指定正整数向量来计算多个维度的 RMS 值。使用 vecdim
输入参数指定维度。例如,rms(x,[1 2])
沿 x
的第一个和第二个维度进行运算。
R2022a: 包含或省略 NaN
值
现在,您可以在 RMS 计算中包含或省略 NaN
值。指定 "includenan"
以包含 NaN
值,这样,结果中将包含 NaN
值。指定 "omitnan"
以忽略输入中的所有 NaN
值。例如,rms(x,"includenan")
在计算 RMS 值时将包含 NaN
值,计算结果将包含 NaN
值。
R2022a: 从 Signal Processing Toolbox 移至 MATLAB
以前,rms
需要 Signal Processing Toolbox™。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)