2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 15:45 
Добрый день,

очень хочу получить аналитически решение для произвольных (пусть действительных) $p_1,\dots, p_5$, и найти $\alpha$, которое бы удовлетворяло бы:

$$p_1 \cos(\alpha) + p_2 \sin(\alpha) + p_3 \cos(2\alpha) + p_4 \sin(2\alpha) + p_5=0$$

Численно решить могу, но хочу именно аналитические формулы. Математикой (вольфрамовской) пользоваться умею, но она выдает какого-то ужастного крокодила на сотню страниц, и у меня есть подозрение, что этот крокодил на сотню страниц можно как-то упростить, но у меня не получается.

Сам пробовал обозначить $y=p_1 \cos(\alpha) + p_2 \sin(\alpha)$, чтобы свести задачу к полиному по $y$, но вроде чего-то не хватает.

Помогите, пожалуйста, или советом, или решением (да не забанит меня за это модератор!!!)!

Спасибо!

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 16:01 
Правильно сгруппировав и затем возведя в квадрат, получим уравнение 4-й степени относительно $\cos{\alpha}$. Поскольку коэффициенты буквенные, ничего удивительного, что получился крокодил. Это неизбежно, простой формулы для решений в общем случае нет.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 16:29 
Спасибо большое, nnosipov, за ответ.

Да, до уравнения 4-ой степени я доходил, но вот почему-то мне кажется, что решение может быть хотя бы в несколько стадий, выражено довольно просто.

Вольфрамовская математика не смогла доупрощать, поэтому здесь и спросил.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 16:36 
Согласен с nnosipov.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 16:43 
ilghiz в сообщении #1550011 писал(а):
мне кажется, что решение может быть хотя бы в несколько стадий, выражено довольно просто
Значит, можно просто находить корни любого тригонометрического многочлена степени 2. Не верю. Это равносильно тому, что есть простая формула для корней алгебраического многочлена 4-й степени. Но ее нет, это медицинский факт.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 17:54 
Спасибо большое, за советы!

Да, жалко, что все так плохо.

Кстати, полуофф. Скажите, пожалуйста, а бывает ли у какой-нибудь системы типа Maple, Sage, Mathematica такая опция, что ответ оптимизируется так, чтобы в нем было минимальное число арифметических операций? Как я понимаю, сведение задачи к уравнению 4-ой степени с нулевым коэффициентом при кубе должно записываться довольно просто, вычисление резольвенты - тоже, пересчет самих корней тоже. Под "просто" я имею ввиду формулы в несколько строк, а не в сто страниц, что мне выдала вольфрамовая математика, когда я попытался в ней в лоб это решить.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 18:08 
ilghiz в сообщении #1550024 писал(а):
Скажите, пожалуйста, а бывает ли у какой-нибудь системы типа Maple, Sage, Mathematica такая опция, что ответ оптимизируется так, чтобы в нем было минимальное число арифметических операций?
Вряд ли такое есть. Впрочем, если буквенные коэффициенты конкретизировать (придать им числовые значения), запись корней уравнения 4-й степени будет, скорее всего, оптимальной (например, по уровню вложенности радикалов).

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение08.03.2022, 18:36 
nnosipov в сообщении #1550026 писал(а):
Впрочем, если буквенные коэффициенты конкретизировать (придать им числовые значения), запись корней уравнения 4-й степени будет, скорее всего, оптимальной (например, по уровню вложенности радикалов).

мне надо много раз решать такое уравнение с разными $p_i$, причем решение нужно проверять на минимум функции и выбирать тот корень, что соответсвует минимуму. Так как корней в общем случае может быть 4, то есть два минимума и два максимума, то методом деления отрезка пополам не решить, надо вначале найти по одному минимуму и максимуму и потом искать на каком из оставшихся отрезков есть еще корень, поэтому хотелось аналитики.

Исходная функция, что для минимизации, имеет вид

$$\min_{\alpha} |t_1 - t_3 \cos(\alpha) - t_4 \sin(\alpha)|^2 +  |t_2 - t_5 \cos(\alpha) - t_6 \sin(\alpha)|^2.$$

(я в исходной ппостановке не использовал $t_1,\dots, t_6$ подразумевая, что я из $t_1,\dots, t_6$ получу $p_1,\dots, p_5$ (кстати, $p_5$ у меня вроде всегда $0$, я в головном сообщении это прошляпил, хотя вроде это особо не попользуешь).

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение10.03.2022, 09:02 
Аватара пользователя
Вообще-то условие $p_5=0$ выглядит сильно упрощающим, хотя, наверно, для получения "простой аналитической формулы" этого недостаточно.
Наверно, сведение к $A\sin(\alpha+\varphi)=\sin(2\alpha+\psi)$, где $\varphi$ зависит от $p_1, p_2$, а $\psi$ от $p_3, p_4$, коэффициент же A определяется всеми четырьмя коэффициентами (оправдываю свою лень запретом на "полные решения", но тут действительно просто), может оказаться полезным для численного решения, а вот аналитика не видна мне. Но вдруг?
Да, и в минимизируемой функции там везде альфа, а не два альфа? Или всё же в одном слагаемом аргумент удвоен?

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение10.03.2022, 10:24 
Численное решение не устраивает? Математика найдет минимум без проблем.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение10.03.2022, 10:57 
Аватара пользователя
Причём численное решение для "исходной функции", которую минимизируют, выглядит куда проще решения тригонометрического уравнения...

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение10.03.2022, 12:21 
Спасибо большое, Евгений Машеров и Vince Diesel за советы!

Евгений Машеров в сообщении #1550125 писал(а):
Да, и в минимизируемой функции там везде альфа, а не два альфа? Или всё же в одном слагаемом аргумент удвоен?

это я так упростил, там либо вторая степень по синусам/косинусам, либо синусы и косинусы от двойного аргумента.

Евгений Машеров в сообщении #1550127 писал(а):
Причём численное решение для "исходной функции", которую минимизируют, выглядит куда проще решения тригонометрического уравнения...


На первый взгляд - да, но по сути там такая проблема:

корней вроде как 2 или 4 (0 корней не интересно), из которых половина минимумов, и половина максимумов. Если корней два, то все просто - методом деления отрезка пополам на всем интервале от $0$ до $2 \pi$ все на ура решается, но если корней 4, то возникают заморочки как локализовать корни. То есть можно найти один корень, пусть это будет минимум, потом можно найти еще один максимум. Далее у нас есть два интервала, на каждом из которых может быть либо

1. ничего,
2. один минимум или максимум,
3. и минимум и максимум.

И тут надо либо делать оценки на вторые производные и городить реально кучу всего, или квадратно-гнездовым, что в общем случае, и вычислительно трудоемко, и очень не тривиально запрограммировать, чтобы ненакосячить.

PS: решать надо на встраиваемых процессорах с очень ограниченными ресурсами, поэтому притащить туда какую-нибудь GSL или еще какой-то внешний минимизатор - не реально. Свой BFGS есть, но он там как мертвому припарка, так как сразу свалится на одномерную минимизацию и, один минимум найдет сразу, а на втором как раз и заткнется.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение10.03.2022, 17:15 
Так там же и есть одномерная минимизация? А так: посчитать значения функции, скажем, на 100 точках и запустить минимизацию с нескольких точек с наименьшими значениями. Там же будет чередование минимумов и максимумов. Если значения параметров невелики, склеиваться точки минимума не должны.

 
 
 
 Re: Решить тригонометрическое уравнение от $a$ и $2a$
Сообщение10.03.2022, 17:38 
Спасибо Vince Diesel за ответ!

Vince Diesel в сообщении #1550154 писал(а):
Так там же и есть одномерная минимизация? А так: посчитать значения функции, скажем, на 100 точках и запустить минимизацию с нескольких точек с наименьшими значениями. Там же будет чередование минимумов и максимумов. Если значения параметров невелики, склеиваться точки минимума не должны.

Если б все так было просто в датском королевстве...

Минимумы могут быть очень близко, и 100 точек может не хватить.

Вызвать 100 раз функцию - уже не очень дешево, там 100 пар синусов-косинусов отъедают много вычислительных ресурсов. Можно закордитчить вычисление, но в общем это не совсем тривиально, хотя я конечно смогу это сделать если совсем приспичит.

 
 
 [ Сообщений: 14 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group