Максимумы кратных тригонометрических уравнений
Я пытаюсь решить уравнение, используя максимумы 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 и оцените это для разных значений параметров.