Main Content

range

值的范围

说明

示例

y = range(X) 返回 X 中样本数据的最大值和最小值之差。

  • 如果 X 是向量,则 range(X)X 中的值的范围。

  • 如果 X 是矩阵,则 range(X) 是包含 X 中每列的范围的行向量。

  • 如果 X 是多维数组,则 range 沿 X 的第一个非单一维度执行运算,将值视为向量。此维度的大小变为 1,而所有其他维度的大小保持不变。如果 X 是第一个维度为 0 的空数组,则 range(X) 返回与 X 大小相同的空数组。

示例

y = range(X,'all') 返回 X 中所有元素的范围。

示例

y = range(X,dim) 基于 X 的运算维度 dim 返回范围。例如,如果 X 是矩阵,则 range(X,2) 是包含每行的范围值的列向量。

示例

y = range(X,vecdim) 基于向量 vecdim 所指定的维度返回范围。例如,如果 X 是矩阵,则 range(X,[1 2])X 中所有元素的范围,因为矩阵的每个元素都包含在由维度 1 和 2 定义的数组切片中。

示例

全部折叠

生成标准正态随机数的五个大样本。

rng('default') % For reproducibility
rv = normrnd(0,1,1000,5);

找出这些样本的范围值。

near6 = range(rv)
near6 = 1×5

    6.8104    6.6420    6.9578    6.0860    6.8165

每个样本的范围值约为 6。

找出五次考试中考试分数的范围。

加载 examgrades 数据集。

load examgrades

找到所有考试分数的范围。

y = range(grades,'all')
y = 46

找出每个学生五次考试中考试分数的范围。

加载 examgrades 数据集。

load examgrades

找出前 10 个学生的考试分数的范围。例如,第八个学生的最高和最低考试分数相差 7 分。

X = grades(1:10,:);
y = range(X,2)
y = 10×1

    12
    13
    10
    12
     8
    16
    14
     7
    12
    10

找出一个基于多个维度的多维数组的范围。

使用均值 mu = 2 和标准差 sigma = 7 创建一个 3×5×2 正态随机数数组。

rng('default') % For reproducibility
mu = 2;
sigma = 7;
X = normrnd(mu,sigma,[3 5 2])
X = 
X(:,:,1) =

    5.7637    8.0352   -1.0351   21.3861    7.0778
   14.8372    4.2314    4.3984   -7.4492    1.5586
  -13.8119   -7.1538   27.0488   23.2445    7.0032


X(:,:,2) =

    0.5652   11.8632   -6.4524    5.4223   -0.1241
    1.1310   11.9203    7.0207    9.2429    4.0571
   12.4279    6.7005   13.4116    7.0882   -3.5110

通过将维度 1 和 2 指定为运算维度,找出 X 的每页的范围。

ypage = range(X,[1 2])
ypage = 
ypage(:,:,1) =

   40.8607


ypage(:,:,2) =

   19.8641

例如,ypage(1,1,2)X(:,:,2) 中所有元素的范围。

通过将维度 2 和 3 指定为运算维度,找出每个 X(i,:,:) 切片中元素的范围。

yrow = range(X,[2 3])
yrow = 3×1

   27.8385
   22.2864
   40.8607

例如,yrow(3)X(3,:,:) 中所有元素的范围。

输入参数

全部折叠

数据样本,指定为标量、向量、矩阵或多维数组。

  • 如果 X 为标量,则 range(X) 为 0。

  • 如果 X 为 0×0 空数组,则 range(X) 也为空数组。

数据类型: single | double | logical | datetime | duration

用于运算的维度,指定为正整数标量。如果不指定值,则默认值是大小不等于 1 的第一个数组维度。

dim 表示其长度减小到 1 的维度。size(y,dim) 为 1,而所有其他维度的大小保持不变,除非 size(X,dim) 为 0。如果 size(X,dim) 为 0,则 range(X,dim) 返回与 X 大小相同的空数组。

以一个二维数据样本 X 为例:

  • 如果 dim 等于 1,则 range(X,1) 返回包含每列的范围的行向量。

  • 如果 dim 等于 2,则 range(X,2) 返回包含每行的范围的列向量。

如果 dim 大于 ndims(X),则 range 返回全零数组,其维度和缺失值与 X 相同。

数据类型: single | double

维度向量,指定为正整数向量。vecdim 的每个元素表示输入数组 X 的一个维度。输出 y 的指定运算维度长度为 1。Xy 的其他维度长度相同。

例如,如果 X 为 2×3×3 数组,则 range(X,[1 2]) 返回 1×1×3 数组。输出数组的每个元素均为 X 的对应页上的元素的范围。

Mapping of input dimension of 2-by-3-by-3 to output dimension of 1-by-1-by-3

数据类型: single | double

输出参数

全部折叠

最大值和最小值之差,以标量、向量、矩阵或多维数组形式返回。

提示

  • rangeNaN 视为缺失值并忽略它们。

  • range 提供容易计算的样本散布范围的估计值。请避免对含有离群值的数据使用 range,因为它们会对该统计数据产生不适当的影响。

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅

| |