В функциях NumPy часто существуют начальные строки, которые делают проверку тип переменных, то, чтобы вынуждать их быть определенными типами, и т.д. Кто-то может объяснить идею этих строк в scipy.signal.square? Что делает вычитание значения от себя, делают?
t,w = asarray(t), asarray(duty)
w = asarray(w + (t-t))
t = asarray(t + (w-w))
Я полагаю, что это заставит конечные w и t иметь одинаковый тип. Например, если вы начнете с float и int, то в итоге оба будут массивами float, что лучше для последующих операций.