Python 定义段函数数组

Python 定义段函数数组,python,numpy,Python,Numpy,我想定义一个数组f,它是y的一个段函数,我如何实现它 import numpy as np y0 = 1.0 y1 = 2.0 Ly = y1-y0 NY = 10 y = np.array([y0+Ly*float(i)/(NY-1) for i in range(NY)]) print('y=',y) # I wnat f = -2.0*y, when y1<= y < Ly/2.0 # I want f = 2.0*y, when Ly/2.0<= y &l

我想定义一个数组
f
,它是
y
的一个段函数,我如何实现它

import numpy as np   

y0 = 1.0
y1 = 2.0
Ly = y1-y0
NY = 10

y =  np.array([y0+Ly*float(i)/(NY-1) for i in range(NY)])
print('y=',y)

# I wnat f = -2.0*y, when y1<= y < Ly/2.0
# I want f = 2.0*y, when Ly/2.0<= y < Ly
#print('f=',f)
将numpy导入为np
y0=1.0
y1=2.0
Ly=y1-y0
NY=10
y=np.数组([y0+Ly*浮点(i)/(NY-1)表示范围(NY)内的i)])
打印('y=',y)
#I wnat f=-2.0*y,当y1时,可以这样做

f1 = np.array([-2.0*y[i] for i in range(NY/2)])
f2 = np.array([2.0*y[NY/2+i] for i in range(NY/2)])

f = np.concatenate((f1,f2),axis = 0)

print('f=',f)

@如果你有更好的答案,请回答!这不是一个答案,这是你的问题的一部分,正如你所尝试的。如果您有一个解决方案,但正在寻找更好的方法,那么代码审查是您想要发布的地方,而不是这里。