以条件数/函数数为变量的Numpy.Piecewise

qoefvg9y  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(73)
n = len(x_coords)
conditions = [x_coords[i] <= x <= x_coords[i+1] for i in range(n-1)]
functions = [f(x,i) for i in range(n-1)]

def g(x):
    return np.piecewise(x, conditions, functions)

‘x_coods’只是一个x_坐标列表,我在它们之间定义了不同的函数
当我运行这段代码时,我得到错误“‘<=’在‘Float’和‘List’的示例之间不受支持”
我想我知道问题所在--我创建的列表中的元素是语句而不是值。但是,我不知道如何解决这个问题,因为我需要

np.piecewise

函数参数

jm81lzqq

jm81lzqq1#

只需使用np.arrares而不是list,因为没有为内置list定义此操作。执行以下操作:

x_coords = np.array(x_coords)

您可能还需要拆分以下条件:

conditions = [ (x_coords[i] <= x) & (x <= x_coords[i+1]) for i in range(n-1)]

相关问题