Numpy矢量: https://drive.google.com/file/d/0B4Jac-wNMDxHS3BnUzBoUkdmOGs/view?usp=sharing
我想知道一种在numpy中分割矢量的有效方法,并提取显着下降幅度的5个信号块。
我可以通过将幅度2.302视为截止幅度来将它们分开,并在信号下降到该值时将其与初始指数分开,并在信号超过该值时将其与最终指数分开。
在numpy中执行此操作的任何有效方法?
答案 0 :(得分:0)
所以我在纯python中编写了解决方案并列出:
vec = np.load('vector_numpy.npy')
# plt.plot(vec)
# plt.show()
print vec.shape
temporal_vec = []
flag = 0
flag_start = 0
flag_end = 0
all_vectors = []
all_index = []
count = -1
for element in vec:
count = count+1
#print element
if element < 2.302:
if flag_start ==0:
all_index.append(count)
flag_start=1
temporal_vec.append(element)
flag = 1
if flag == 1:
if element >= 2.302:
if flag_start==1:
all_index.append(count)
flag_start=0
all_vectors.append(temporal_vec)
temporal_vec = []
flag = 0
print(all_vectors)
for element in all_vectors:
print(len(element))
plt.plot(element)
plt.show()
print(all_index)
Numpy中更好的方式还是更好/更短的python代码?