Период N систем, каждая с периодом p
Допустим, у вас есть набор функций F
, у функции f1
есть точка p1
и так далее. Как мне найти время t
, чтобы все функции F
были в начале нового периода t
?
Пример:
F = {sin(x), sin(2x), sin(0.5x)}
f1 intersects (as multiples of pi): [0, 1, 2, 3, 4]
f2 intersects (as multiples of pi): [0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4]
f3 intersects (as multiples of pi): [0, 2, 4]
The only common intersects are 0 and 4 so the period is 4
Моя первоначальная мысль заключалась в том, чтобы взять НОК периодов, однако, если период является реальным значением, я действительно не знаю, как найти НОК.
Любое предложение о том, как решить эту проблему, не создавая набор всех индексов, которые соответствуют началу периода и захвату пересечения?
Ответы
Во-первых, обратите внимание, что периоды совпадают тогда и только тогда, когда они рационально кратны друг другу. Если это условие выполняется, например, если периоды$\alpha q_1,\dots,\alpha q_n$ за $\alpha \in \mathbb{R}$ и $q_1,\dots,q_n \in \mathbb{Q}$, тогда они все выстраиваются в очередь $$ \alpha \cdot\text{lcm}(q_1,\dots,q_n)$$ где НОК рациональных чисел взяты из комментария выше.