Я хотел бы знать, есть ли способ использовать преимущества широковещательного массива Python, избегая использования цикла for, чтобы сократить время вычислений.Вот следующий минимальный пример:
import numpy as np
#
# parameters
n_t = 256
G = 0.5
k_n = 10
# typical data
tau = np.linspace(0,2*np.pi,256)
x_t = np.sin(tau).reshape((n_t,1))
x_t_dot = np.cos(tau).reshape((n_t,1))
#
delta = np.maximum(0,(x_t-G))
f_dot = np.zeros((n_t,1))
# current used for loop
for i in range(0,n_t,1):
# Boolean condition
if delta[i,0] > 0:
f_dot[i,0] = k_n
Любые предложения будут с благодарностью.Спасибо.