MATLAB 帮助中心
数据集的四分位差
r = iqr(A)
r = iqr(A,"all")
r = iqr(A,dim)
r = iqr(A,vecdim)
[r,q] = iqr(___)
r = iqr(A) 返回输入数据 A 中元素的四分位差值。
r
A
如果 A 是向量,则 r 是 A 中包含的数据的第 75 个百分位数与第 25 个百分位数之间的差值。
如果 A 是矩阵,则 r 是行向量,其中包含 A 的每列中采样数据的第 75 个百分位数与第 25 个百分位数之间的差值。
如果 A 是多维数组,则 r 包含沿其大小不等于 1 的第一个数组维度计算的四分位差值。r 沿此维度的大小为 1,而所有其他维度的大小与输入数据保持相同。
示例
r = iqr(A,"all") 返回 A 中所有元素的四分位差值。
r = iqr(A,dim) 沿维度 dim 进行运算。例如,如果 A 是矩阵,则 iqr(A,2) 对每行中的元素进行运算。
dim
iqr(A,2)
r = iqr(A,vecdim) 沿在向量 vecdim 中指定的维度进行运算。例如,如果 A 是矩阵,则 iqr(A,[1 2]) 对 A 的所有元素进行运算,因为矩阵的每个元素都包含在由维度 1 和 2 定义的数组切片中。
vecdim
iqr(A,[1 2])
对于上述任何语法,[r,q] = iqr(___) 还返回输入数据 A 中元素的第一个四分位数和第三个四分位数。第一个四分位数是输入数据的第 25 个百分位数,第三个四分位数是第 75 个百分位数。 (自 R2024a 起)
q
全部折叠
生成一个由正态分布随机数据组成的 4×4 矩阵。
rng default % for reproducibility A = randn(4,4)
A = 4×4 0.5377 0.3188 3.5784 0.7254 1.8339 -1.3077 2.7694 -0.0631 -2.2588 -0.4336 -1.3499 0.7147 0.8622 0.3426 3.0349 -0.2050
计算每列数据的四分位差。
r = 1×4 2.2086 1.2013 2.5969 0.8541
计算每行数据的四分位差。
r2 = iqr(A,2)
r2 = 4×1 1.7237 2.9870 1.9449 1.8797
通过指定 "all" 或 vecdim 输入,计算多维数组在多个维度上的四分位差。
all
创建一个 3×4×2 数组。
A = reshape(1:24,[3 4 2])
A = A(:,:,1) = 1 4 7 10 2 5 8 11 3 6 9 12 A(:,:,2) = 13 16 19 22 14 17 20 23 15 18 21 24
计算 A 中所有值的四分位差。
rall = iqr(A,"all")
rall = 12
计算 A 的每页的四分位差。指定第一个和第二个维度作为沿其计算四分位差的运算维度。
rPage = iqr(A,[1 2])
rPage = rPage(:,:,1) = 6 rPage(:,:,2) = 6
rPage(1,1,1) 是 A(:,:,1) 中所有元素的四分位差。
rPage(1,1,1)
A(:,:,1)
通过将第二个和第三个维度指定为运算维度,计算每个 A(i,:,:) 切片中元素的四分位差。
A(i,:,:)
rRow = iqr(A,[2 3])
rRow = 3×1 12 12 12
rRow(3) 是 A(3,:,:) 中所有元素的四分位差。
rRow(3)
A(3,:,:)
自 R2024a 起
除了每列数据的四分位差外,还计算第一个和第三个四分位数。q 的每列中的第一个元素是输入数据的第一个四分位数,第二个元素是第三个四分位数。
[r,q] = iqr(A)
q = 2×4 -0.8606 -0.8706 0.7098 -0.1340 1.3480 0.3307 3.3067 0.7201
输入数组,指定为向量、矩阵或多维数组。
数据类型: double | single | duration
double
single
duration
沿其运算的维度,指定为正整数标量。如果不指定维度,则默认值是大小不等于 1 的第一个数组维度。
以输入矩阵 A 为例:
r = iqr(A,1) 计算 A 中列的四分位差。由于 1 是指定的运算维度,因此 r 的行数等于 A 中的列数。
r = iqr(A,1)
r = iqr(A,2) 计算 A 中行的四分位差。由于 2 是指定的运算维度,因此 r 的列数等于 A 中的行数。
r = iqr(A,2)
维度 dim 表示其长度减至 1 的 r 的维度。size(r,dim) 为 1,而输出 r 的所有其他维度的大小与输入数据保持相同。
size(r,dim)
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
int8
int16
int32
int64
uint8
uint16
uint32
uint64
要沿其运算的维度组成的向量,指定为正整数向量。每个元素代表输入数据的一个维度。
输出 r 在指定运算维度中的大小为 1。r 在所有其他维度中的长度与输入数据保持相同。
假设有一个 2×3×3 输入数组 A。由于 1 和 2 是运算维度,iqr(A,[1 2]) 返回 1×1×3 数组。输出数组的每页包含 A 的对应页上元素的四分位差。
四分位差,以标量、向量、矩阵或多维数组形式返回。
第一个四分位数和第三个四分位数,以向量、矩阵或多维数组形式返回。
q 和 r 的大小相同,但 q 沿最小运算维度的大小应为 2。沿该维度,第一个元素是输入数据的第一个四分位数,第二个元素是第三个四分位数。
全部展开
用法说明和限制:
不支持 "all" 和 vecdim 输入。
"all"
dim 输入参量必须为编译时常量。
如果不指定 dim 输入参量,生成的代码中的工作(或运算)维度可能不同。因此,可能会发生运行时错误。有关详细信息,请参阅在默认维度选择方面与 MATLAB 不兼容 (MATLAB Coder)。
iqr 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
iqr
gpuArray
不支持持续时间输入。
有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
指定第二个输出参量 q 以返回输入数据的第一个四分位数和第三个四分位数。沿最小运算维度的 q 的第一个元素是输入数据的第一个四分位数,沿最小运算维度的 q 的第二个元素是第三个四分位数。
iqr 函数由于输入解析更快而提高了性能。当输入解析在计算时间中占比很大时,性能改进最为显著。这种情况出现在:
输入数据的大小很小时。
计算沿默认运算维度进行时。
例如,以下代码计算一个包含 4000 个元素的矩阵的四分位差。该代码比上一版本大约快 4.67 倍。
function timingIqr A = rand(400,10); for k = 1:3e3 r = iqr(A); end end
大致的执行时间是:
R2022a:0.98 秒
R2022b:0.21 秒
代码是在运行 Windows® 10 的 Intel® Xeon® CPU E5-1650 v4 @ 3.60 GHz 测试系统上使用 timeit 函数进行计时的:
timeit
timeit(@timingIqr)
以前,iqr 需要 Statistics and Machine Learning Toolbox™。
std | var | prctile | boxchart
std
var
prctile
boxchart
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处