Максимумы кратных тригонометрических уравнений

Я пытаюсь решить уравнение, используя максимумы 13.04.2, но ответ не тот, который я ожидаю. Пример:

y2=A2*cos(2*pi*f2*t+phase2)  we know A2=.4,f2=6.4951,t=1, trying to find **phase2** 
y2=.4*cos(2*pi*6.4951+phase2)

Я пытался решить уравнение y2 для фазы 2 в максимумах, но он избавился от функции cos

kill(all);
A:A; phase:phase; solve(A*cos(2*pi*f*t+phase)=0,phase);

Ответ, который вернулся, был

странный ответ

Я думал, что-то вроде этого должно было вернуться

y2 = A2×cos(2πf2t + φ2) ⇒

y2/A2 = cos(2πf2t + φ2) ⇒

arccos(y2/A2) = 2πf2t + φ2 ⇒

arccos(y2/A2) - 2πf2t = φ2

так что я мог бы затем подключить вэйлсA2 = 0,4, F2 = 6,4951, T = 1 и получить фазу

Любые идеи, как получить максимумы, чтобы получить правильный формат? PS: Да, я знаю, что могу сделать это вручную, но у меня есть тысячи подобных уравнений, и я планирую использовать октавные массивы, чтобы вызывать максимумы для их решения и возвращать ответы обратно в октаву.

1 ответ

Решение

Ну, это кажется простым.

(%i1) e:A*cos(2*%pi*f*t + phi) = y;
(%o1)                     cos(2 %pi f t + phi) A = y
(%i2) solve (e, phi);
solve: using arc-trig functions to get a solution.
Some solutions will be lost.
                                      y
(%o2)                     [phi = acos(-) - 2 %pi f t]
                                      A
(%i3) subst ([A = 0.4, f = 6.4951, t = 1], %o2);
(%o3)                  [phi = acos(2.5 y) - 12.9902 %pi]

Пару заметок. (1) solve может решить это уравнение, что хорошо, но имейте в виду, что оно довольно ограничено в своих возможностях, и вы, вероятно, можете составить другие уравнения, которые он не может решить. Есть несколько других вариантов решения уравнений в Maxima, но, как правило, это слабая область. (2) Возможно, вместо того, чтобы переключаться между Maxima и Octave, вы можете просто кодировать уравнение %o2 в Octave и оцените это для разных значений параметров.

Другие вопросы по тегам