mindspore/docs/api/api_python/numpy/mindspore.numpy.piecewise.rst

19 lines
2.0 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.numpy.piecewise
=================================
.. py:function:: mindspore.numpy.piecewise(x, condlist, funclist, *args, **kw)
执行分段定义的函数。根据一组条件和相应的函数,在条件为真的位置对输入数据进行函数求值。
参数:
- **x** (Union[int, float, bool, list, tuple, Tensor]) - 输入定义域。
- **condlist** (Union[bool, list[Tensor, bool]]) - 每个boolean数组与 ``funclist`` 中的一个函数相对应。在 ``condlist[i]`` 为真时,使用 ``funclist[i](x)`` 作为输出值。 ``condlist`` 中的每个boolean数组选择 ``x`` 的一个部分,因此应该与 ``x`` 的shape相同。 ``condlist`` 的长度必须与 ``funclist`` 的长度相对应。如果给出了一个额外的函数,即 :math:`len(funclist) == len(condlist) + 1` ,则该额外的函数为默认值,用于所有条件均为假的地方。
- **funclist** (Union[list[callables], list[scalars]]) - 每个函数在其相应的条件为真时对 ``x`` 进行计算。它应该接受一个一维数组作为输入,并输出一个一维数组或标量值。如果提供的不是可调用对象,而是标量,则假定为常数函数 ``(lambda x: scalar)``
- **args** (any) - 传递给 ``piecewise`` 的任何进一步参数都会在执行时传递给函数,例如,如果调用 ``piecewise(..., ..., 1, 'a')`` ,则每个函数都将被调用为 ``f(x, 1, 'a')``
- **kw** (any) - 用于调用 ``piecewise`` 的关键字参数,在执行时传递给函数,例如,如果调用 ``piecewise(..., ..., alpha=1)`` ,则每个函数将被调用为 ``f(x, alpha=1)``
返回:
Tensor输出与 ``x`` 具有相同的shape和类型通过对 ``x`` 的对应部分调用 ``funclist`` 中的函数找到输出值,这些部分由 ``condlist`` 中的boolean数组定义。未被任何条件覆盖的部分默认值为 ``0``
异常:
- **ValueError** - 如果 ``funclist`` 的长度不在 :math:`(len(condlist), len(condlist) + 1)` 范围内。