vectorize FRD feedback function by bnavigator · Pull Request #680 · python-control/python-control
This is a TODO from #314. It overlaps with #679 and one or the other needs a rebase after merge.
# frd_bench.py from control import FrequencyResponseData, rss import numpy as np omega = np.logspace(-1, 4, 40000) rss1 = rss(6,10,20,True) rss2 = rss(6,20,10,True) F1 = rss1(omega) F2 = rss2(omega) frd1 = FrequencyResponseData(F1, omega) frd2 = FrequencyResponseData(F2, omega) FB = frd1.feedback(frd2)
In [1]: from frd_bench import frd1,frd2 In [2]: %timeit -n 10 -r 3 frd1.feedback(frd2) 1.96 s ± 10.8 ms per loop (mean ± std. dev. of 3 runs, 10 loops each)
In [1]: from frd_bench import frd1,frd2 In [2]: %timeit -n 10 -r 3 frd1.feedback(frd2) 1.29 s ± 4.48 ms per loop (mean ± std. dev. of 3 runs, 10 loops each)