17.4 和与积

 
y = sum (x)
y = sum (x, dim)
y = sum (x, vecdim)
y = sum (x, "all")
y = sum (…, outtype)
y = sum (…, nanflag)

计算 x 的元素之和。

如果 x 是一个向量,则 sum (x) 返回 x 中所有元素的和。

如果 x 是一个矩阵,则 sum (x) 返回一个行向量,其中每个元素是 x 中相应列的和。

如果 x 是一个数组,则 sum (x) 沿着 x 的第一个非奇异维度求和。

可选输入参数 dim 用于指定操作的维度,必须是一个正整数。在 x 中指定任何奇异维度(包括任何超出 ndims (x) 的维度)将直接返回 x

使用输入参数 vecdim(一个由不重复维度组成的向量)可以指定多个维度,操作将沿着 vecdim 定义的数组切片进行。如果 vecdim 索引了 x 的所有维度,则等同于选项 "all"vecdim 中任何大于 ndims (x) 的维度将被忽略。

将维度指定为 "all" 将导致 sumx 的所有元素进行操作,等效于 cumsum (x(:))

可选输入参数 outtype 指定返回的数据类型以及用于计算的变量类型。outtype 可以取以下值:

"default"

对于浮点输入(double 或 single),使用其原生数据类型进行操作;而对于整数、逻辑和字符数据类型,则使用双精度进行计算。输出类型为 double,除非输入是 single,此时输出类型为 single。

"double"

即使输入是单精度,也使用双精度进行计算。输出类型为 double。

"extra"

对于双精度输入,sum 将使用比简单求和更精确的算法。对于单精度输入,"extra""double" 相同。对于所有其他数据类型,"extra" 无效。

"native"

使用输入的原生数据类型进行操作,输出类型与输入相同,由 class (x) 报告。当输入为逻辑类型时,sum (x, "native") 等效于 any (x)

可选变量 nanflag 用于指定是否在计算中包含或排除 NaN 值,可配合任何先前指定的输入参数组合使用。nanflag 的默认值为 "includenan",即在计算中保留 NaN 值。要排除 NaN 值,请将 nanflag 设置为 "omitnan"。如果 x 在操作维度上的所有值都是 NaN,则输出为 0

另请参阅:cumsumsumsqprod

 
y = prod (x)
y = prod (x, dim)
y = prod (x, vecdim)
y = prod (x, "all")
y = prod (…, outtype)
y = prod (…, nanflag)

计算 x 的元素之积。

如果 x 是一个向量,则 prod (x) 返回 x 中所有元素的乘积。

如果 x 是一个矩阵,则 prod (x) 返回一个行向量,其中每个元素是 x 中相应列的乘积。

如果 x 是一个数组,则 prod (x) 沿着 x 的第一个非奇异维度求积。

可选输入参数 dim 用于指定操作的维度,必须是一个正整数。在 x 中指定任何奇异维度(包括任何超出 ndims (x) 的维度)将直接返回 x

使用输入参数 vecdim(一个由不重复维度组成的向量)可以指定多个维度,操作将沿着 vecdim 定义的数组切片进行。如果 vecdim 索引了 x 的所有维度,则等同于选项 "all"vecdim 中任何大于 ndims (x) 的维度将被忽略。

将维度指定为 "all" 将导致 prodx 的所有元素进行操作,等效于 prod (x(:))

可选输入参数 outtype 指定返回的数据类型以及用于计算的变量类型。outtype 可以取以下值:

"default"

对于浮点输入(double 或 single),使用其原生数据类型进行操作;而对于整数、逻辑和字符数据类型,则使用双精度进行计算。输出类型为 double,除非输入是 single,此时输出类型为 single。

"double"

即使输入是单精度,也使用双精度进行计算。输出类型为 double。

"extra"

对于双精度输入,prod 将使用比简单求积更精确的算法。对于单精度输入,"extra""double" 相同。对于所有其他数据类型,"extra" 无效。

"native"

使用输入的原生数据类型进行操作,输出类型与输入相同,由 class (x) 报告。当输入为逻辑类型时,sum (x, "native") 等效于 any (x)

可选变量 nanflag 用于指定是否在计算中包含或排除 NaN 值,可配合任何先前指定的输入参数组合使用。nanflag 的默认值为 "includenan",即在计算中保留 NaN 值。要排除 NaN 值,请将 nanflag 设置为 "omitnan"。如果 x 在操作维度上的所有值都是 NaN,则输出为 0

另请参阅:sumcumsumsumsq

 
y = cumsum (x)
y = cumsum (x, dim)
y = cumsum (x, vecdim)
y = cumsum (x, "all")
y = cumsum (…, direction)
y = cumsum (…, nanflag)

计算 x 的累积和。

如果 x 是一个向量,则 cumsum (x) 返回一个包含 x 中元素累积和的向量。

如果 x 是一个矩阵,则 cumsum (x) 返回一个矩阵,该矩阵包含 x 中每一列的累积和。

如果 x 是一个数组,则 cumsum (x) 沿着 x 的第一个非奇异维度计算累积和。

可选输入参数 dim 用于指定操作的维度,必须是一个正整数。在 x 中指定任何奇异维度(包括任何超出 ndims (x) 的维度)将直接返回 x

使用输入参数 vecdim(一个由不重复维度组成的向量)可以指定多个维度,操作将沿着 vecdim 定义的数组切片进行。如果 vecdim 索引了 x 的所有维度,则等同于选项 "all"vecdim 中任何大于 ndims (x) 的维度将被忽略。

将维度指定为 "all" 将导致 cumsumx 的所有元素进行操作,等效于 cumsum (x(:))

可选参数 direction 指定累积方向,必须是一个字符串。可取值为 "forward"(默认)、"backward""reverse"。其中 "backward""reverse" 等效。

可选变量 nanflag 用于指定是否在计算中包含或排除 NaN 值,可配合任何先前指定的输入参数组合使用。nanflag 的默认值为 "includenan",即在计算中保留 NaN 值。要排除 NaN 值,请将 nanflag 设置为 "omitnan"。如果 x 在操作维度上的所有值都是 NaN,则输出为 0

另请参阅:sumprodcumprod

 
y = cumprod (x)
y = cumprod (x, dim)
y = cumprod (x, vecdim)
y = cumprod (x, "all")
y = cumprod (…, direction)
y = cumprod (…, nanflag)

计算 x 的累积乘积。

如果 x 是一个向量,则 cumprod (x) 返回一个包含 x 中元素累积乘积的向量。

如果 x 是一个矩阵,则 cumprod (x) 返回一个矩阵,该矩阵包含 x 中每一列的累积乘积。

如果 x 是一个数组,则 cumprod (x) 沿着 x 的第一个非奇异维度计算累积乘积。

可选输入参数 dim 用于指定操作的维度,必须是一个正整数。在 x 中指定任何奇异维度(包括任何超出 ndims (x) 的维度)将直接返回 x

使用输入参数 vecdim(一个由不重复维度组成的向量)可以指定多个维度,操作将沿着 vecdim 定义的数组切片进行。如果 vecdim 索引了 x 的所有维度,则等同于选项 "all"vecdim 中任何大于 ndims (x) 的维度将被忽略。

将维度指定为 "all" 将导致 cumprodx 的所有元素进行操作,等效于 cumprod (x(:))

可选参数 direction 指定累积方向,必须是一个字符串。可取值为 "forward"(默认)、"backward""reverse"。其中 "backward""reverse" 等效。

可选变量 nanflag 用于指定是否在计算中包含或排除 NaN 值,可配合任何先前指定的输入参数组合使用。nanflag 的默认值为 "includenan",即在计算中保留 NaN 值。要排除 NaN 值,请将 nanflag 设置为 "omitnan"。如果 x 在操作维度上的所有值都是 NaN,则输出为 1

另请参阅:prodcumsumsum

 
y = sumsq (x)
y = sumsq (x, dim)
y = sumsq (x, vecdim)
y = sumsq (x, "all")
y = sumsq (…, outtype)
y = sumsq (…, nanflag)

计算 x 中各元素的平方和。

如果 x 是一个向量,则 sumsq (x) 返回 x 中所有元素的平方和。

如果 x 是一个矩阵,则 sumsq (x) 返回一个行向量,其中每个元素是 x 中相应列的平方和。

如果 x 是一个数组,则 sumsq (x) 沿着 x 的第一个非奇异维度计算平方和。

此函数在概念上等效于计算:

sum (x .* conj (x))

但它使用更少的内存,并且在 x 为实数时避免调用 conj

可选输入参数 dim 用于指定操作的维度,必须是一个正整数。在 x 中指定任何奇异维度(包括任何超出 ndims (x) 的维度)将返回等于 x.^2 的平方和。

使用输入参数 vecdim(一个由不重复维度组成的向量)可以指定多个维度,操作将沿着 vecdim 定义的数组切片进行。如果 vecdim 索引了 x 的所有维度,则等同于选项 "all"vecdim 中任何大于 ndims (x) 的维度将被忽略。

将维度指定为 "all" 将导致 sumsqx 的所有元素进行操作,等效于 sumsq (x(:))

可选输入参数 outtype 指定返回的数据类型以及用于计算的变量类型。outtype 可以取以下值:

"default"

对于浮点输入(double 或 single),使用其原生数据类型进行操作;而对于整数、逻辑和字符数据类型,则使用双精度进行计算。输出类型为 double,除非输入是 single,此时输出类型为 single。

"double"

即使输入是单精度,也使用双精度进行计算。输出类型为 double。

"native"

使用输入的原生数据类型进行操作,输出类型与输入相同,由 class (x) 报告。当输入为逻辑类型时,sumsq (x, "native") 等效于 all (x)

可选变量 nanflag 用于指定是否在计算中包含或排除 NaN 值,可配合任何先前指定的输入参数组合使用。nanflag 的默认值为 "includenan",即在计算中保留 NaN 值。要排除 NaN 值,请将 nanflag 设置为 "omitnan"。如果 x 在操作维度上的所有值都是 NaN,则输出为 0

另请参阅:sumprod


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4