Я пытаюсь найти способ алгоритмически получить амплитуду и фазу функции, которая имеет синусоидальные члены в системе компьютерной алгебры Maxima. Это относится только к установившемуся состоянию (так как t -> бесконечность и переходные процессы затухают). Например, тривиальный случай будет:
f(t) = 1 / w * sin(w * t + theta) + exp(-a * t) + 8
В этом случае усиление будет 1 / w, сдвиг фазы будет тета, и мы будем игнорировать переходный член exp (-a * t), потому что мы заботимся только об усилении устойчивого состояния и задержке фазы, и exp (-a * t) -> 0 при t -> бесконечность. Мы также проигнорировали бы термин «+ 8», потому что это просто смещение постоянного тока. То, как меня учили делать это на моих инженерных уроках, требует большого количества эвристик и утомительной перестановки уравнений, чтобы привести их в форму, аналогичную приведенной выше, где ответ очевиден, если взглянуть на него.
Кто-нибудь знает об общем алгоритмическом методе определения усиления и фазовой задержки, предполагая, что они существуют, учитывая, что я обладаю всеми возможностями системы компьютерной алгебры (и стандартными функциями, которые можно ожидать от CAS), чтобы бросить на это? Хотя я, скорее всего, буду внедрять его в Maxima, я, безусловно, был бы признателен за общие ответы, объясненные только с точки зрения математики.
Редактировать: Я подумал, что из моего примера совершенно очевидно, что я хочу получить символический ответ в терминах w. w действительно должен быть омега и представляет частоту ввода. Что я действительно спрашиваю, так это то, существуют ли какие-либо стандартные математические операции, которые будут генерировать коэффициенты усиления и фазы без кучки эвристических, ручных перестановок уравнений.