2026a

# min


fi 对象数组中的最小元素

函数库: TyFixedPoint

# 语法

M = min(A)
M = min(A,dim)
C = min(A,B)

# 说明

M = min(A) 返回沿 fi 数组 A 不同维度的最小元素。

  • 如果 A 是向量,则 min(A) 返回 A 中的最小元素;
  • 如果 A 是矩阵,则 min(A) 将 A 的列视为向量,返回包含每列中最小元素的行向量;
  • 如果 A 是多维数组,则 min 沿第一个非单一维度进行运算,并返回由最小值组成的数组。

M = min(A,dim) 返回沿维度 dim 的最小元素。


C = min(A,B) 取 A 或 B 中的最小元素,并返回由这些元素组成的数组。

# 示例

向量中的最小元素

创建一个定点向量,并返回向量的最小值。

using TyFixedPoint
A = fi([1,5,4,9,2],1,16);
M = min(A)
1.0

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     16
FractionLength: 11
每个矩阵行的最小元素

创建一个定点矩阵。

using TyFixedPoint
A = fi([16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1],1,16)
4×4 Matrix{fi}:
 16.0   2.0   3.0  13.0
  5.0  11.0  10.0   8.0
  9.0   7.0   6.0  12.0
  4.0  14.0  15.0   1.0

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     16
FractionLength: 10

通过沿第二个维度查找最小值来查找每一行的最小元素。

M = min(A,2)
4×1 Matrix{fi}:
 2.0
 5.0
 6.0
 1.0

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     16
FractionLength: 10

输出向量 M 是一个 1 列矩阵,包含了每一行的最小元素。

每个矩阵列的最小元素

创建一个定点矩阵。

using TyFixedPoint
A = fi([16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1],1,16)
4×4 Matrix{fi}:
 16.0   2.0   3.0  13.0
  5.0  11.0  10.0   8.0
  9.0   7.0   6.0  12.0
  4.0  14.0  15.0   1.0

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     16
FractionLength: 10

查找每一列的最小元素。

M = min(A)
1×4 Matrix{fi}:
 4.0  2.0  3.0  1.0

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     16
FractionLength: 10

输出向量 M 是一个 1 行矩阵,包含了每一列的最小元素。

两个数组中的最小元素

创建两个相同大小的定点数组。

using TyFixedPoint
A = fi([2.3 4.7 6; 0 7 9.23],1,16);
B = fi([9.8 3.21 1.6; pi 2.3 1],1,16);

从 A 或 B 中查找最小元素。

C = min(A,B)
2×3 Matrix{fi}:
 2.2998  3.20996  1.6001
 0.0     2.2998   1.0

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     16
FractionLength: 11

C 包含 A 和 B 中每对对应元素中的最小元素。

复数向量的最小元素

创建一个复数定点向量 a。

using TyFixedPoint
a = fi([1+2im, 2+1im, 3+8im, 9+1im],1,8)
4-element Vector{Complex{fi}}:
 1.0+2.0im
 2.0+1.0im
 3.0+8.0im
 9.0+1.0im
 
DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     8
FractionLength: 3

该函数通过提取具有最小幅值的元素查找复数向量的最小元素。

b = abs(a)
4-element Vector{fi}:
 2.25
 2.25
 8.5
 9.0

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     8
FractionLength: 3

在向量 a 中,位置 1 和 2 处的最小元素的幅值为 2.25。min 函数返回输出 x 中的最小元素。

x = min(a)
1.0+2.0im

DataTypeMode:   Fixed_point_binary_point_scaling
Signedness:     Signed
WordLength:     8
FractionLength: 3

# 输入参数

A — 输入 fi 数组
标量 | 向量 | 矩阵 | 多维数组

fi 数组,指定为标量、向量、矩阵或多维数组。A 和 B 的维度必须匹配。

数据类型: fi
复数支持:

B — 其他输入数组
标量 | 向量 | 矩阵 | 多维数组

fi 数组,指定为标量、向量、矩阵或多维数组。A 和 B 的维度必须匹配。

数据类型: fi
复数支持:

dim — 运算维度
正整数 | 标量

运算维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。
dim 参数必须是内置数据类型,不能是一个 fi 对象。

数据类型: Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128

# 输出参数

M — 最小值
标量 | 向量 | 矩阵 | 多维数组

最小值,以标量、向量、矩阵或多维数组形式返回。M 始终具有与输入相同的数据类型。

数据类型: fi

C — A 或 B 中的最小元素
标量 | 向量 | 矩阵 | 多维数组

A 或 B 中的最小元素,以标量、向量、矩阵或多维数组形式返回。

数据类型: fi

# 算法

当 A 或 B 是复数时,min 函数返回幅值最小的元素。如果两个幅值相等,则 min 返回第一个值。此行为不同于内置 min 函数解决复数之间结值的方式。

# 另请参阅

fi | sort | max