首页 > 编程笔记

MATLAB bounds():查找矩阵元素

在 MATLAB 中,函数 bounds() 用于查找矩阵中的最小元素和最大元素,其调用格式及说明如下表所示。

表 1 bounds() 函数调用格式及说明
调用格式 说 明
[S,L] = bounds(A) 返回数组的最小元素 S 和最大元素 L。S 等同于 min(A),L 等同于 max(A)
[S,L] = bounds(A,'all) 计算 A 的所有元素的最小值和最大值
[S,L] = bounds(A, dim) 沿 A 的维度 dim 执行运算。如果 A 是矩阵,bounds(A, l) 计算每一列的最小值和最大值。bounds(A,2) 返回包含每一行的最小元素和最大元素的列向量 S 和 L
[S,L] = bounds(A,vecdim) 根据向量 vecdim 中指定的维度计算最小值和最大值。如果 A 是矩阵,则 bounds(A,[l 2]) 将返回 A 中所有元素的最小值和最大值,因为矩阵的每个元素都包含在由维度 1 和维度 2 定义的数组中
[S,L] = bounds(…,nanflag) 指定在确定最小元素和最大元素时是包含还是忽略 NaN 值。bounds(A, 'omitnan') 将忽略 NaN 值。如果 A 的任意元素均为 NaN,则 bounds(A, 'includenan') 将为 S 和 L 都返回 NaN。默认行为是 omitnan

【实例】求矩阵中元素的最值。
MATLAB 程序如下:
>> clear               % 清除工作区的变量
>> A=magic(4)          % 创建4阶魔方矩阵A
A =
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1
>> [S,L] = bounds(A)    % 返回矩阵A每一列的最小元素 S 和最大元素 L
S =
     4     2     3     1
L =
    16    14    15    13
>> [S,L] = bounds(A,2)   % 返回矩阵A 每一行元素的最小值和最大值
S =
     2
     5
     6
     1
L =
    16
    11
    12
    15

推荐阅读