2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Решить систему трансцендентных уравнений
Сообщение16.01.2019, 10:36 
Аватара пользователя


26/05/12
1534
приходит весна?
При решении одной, казалось бы простой, задачи, возникла такая вот система уравнений с двумя неизвестными $\varphi_1$ и $\varphi_2$:

$$\pi -{{\varphi }_{1}}-{{\varphi }_{2}}=N\left( \sin {{\varphi }_{2}}-\sin {{\varphi }_{1}} \right)$$$$\[\left( N\sin \left( {{\varphi }_{1}}+{{\varphi }_{0}} \right)+\sqrt{1+{{M}^{2}}} \right)\exp \left( \frac{{{\varphi }_{1}}}{M} \right)=\left( N\sin \left( {{\varphi }_{2}}+{{\varphi }_{0}} \right)+\sqrt{1+{{M}^{2}}} \right)\exp \left( \frac{{{\varphi }_{2}}}{M} \right)\]$$$$\[{{\varphi }_{0}}=\operatorname{atan}\frac{1}{M}\]$$$$0<{{\varphi }_{1}}<\frac{\pi }{2}<{{\varphi }_{2}}<\pi $$
Здесь $N$ и $M$ — некие положительные параметры, которые станут аргументами двух неявных функций, которые я хочу изучить. Решение при указанных ограничениях единственно.

Я понимаю, что в конце-концов мне придётся решать численно, но может можно выразить одну неизвестную через другую из первого уравнения аналитически с помощью какой-нибудь специальной функции, чтобы подставить во второе? В этом плане меня обнадёживает то, какие чудеса можно творить с помощью W-функции Эйлера-Ламберта. Просто у меня обширный опыт численной оптимизации, но я никогда не сталкивался с решением нелинейных систем численно. Значительно проще искать один корень одного уравнения.

Подскажите, пожалуйста, что здесь можно сделать?

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение16.01.2019, 11:50 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва

(B@R5uk)

B@R5uk в сообщении #1369056 писал(а):
$$\[{{\varphi }_{0}}=\operatorname{atan}\frac{1}{M}\]$$
$\operatorname{atan}$ — это $\arctg$? Если так, то Вам функция проверки формул, вероятно, подсказывала, как надо написать. А если это не арктангенс, тогда что?
И ещё: если Вы хотите выключную формулу, то следует писать либо только двойные доллары, либо только пару скобок \[…\] в теге math (автоматически тег ставится только вокруг долларов).

B@R5uk в сообщении #1369056 писал(а):
Подскажите, пожалуйста, что здесь можно сделать?
Можно, конечно, попытаться разложить в ряд Фурье (как для уравнения Кеплера). Будет ли полезно?

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение16.01.2019, 12:34 
Заслуженный участник
Аватара пользователя


11/03/08
9529
Москва
Ну, если Вам удобна оптимизация - может, свести к ней? Оптимизируя невязку.

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение16.01.2019, 12:50 
Заслуженный участник


03/01/09
1682
москва
Можно переписать первое уравнение в виде: $\pi-(\varphi _2+\varphi _1)=2N\cos \frac{\varphi _2+\varphi _1}2\sin \frac {\varphi _2-\varphi _1}2$ и перейти к новым неизвестным:
$\xi=\varphi _2+\varphi _1, \eta =\varphi _2-\varphi _1$.

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение16.01.2019, 13:12 
Заблокирован


16/04/18

1129
В принципе уравнение Кеплера решается в виде ряда, в этом смысле можно выразить одно фи через другое. Только вряд ли это будет полезно и можно использовать. Формула есть на вике, только будьте внимательны, там вместо ряда написана конечная сумма.

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение16.01.2019, 15:01 
Аватара пользователя


26/05/12
1534
приходит весна?
Someone в сообщении #1369074 писал(а):
либо только двойные доллары, либо только пару скобок \[…\] в теге math
Спасибо, я обычно большие формулы набираю в Ворде и от тудава копипасчу их, благо есть функция конвертации в формат Теха. Про арктангенс вы правильно догадались, возможно я пишу не грамотно, но мне хочется, чтобы и в моих текстах с выводом формул и в текстах программ функции назывались одинаково. Как в армии: безобразно, но единообразно. На счёт совета — проверил второй вариант, работает.

Евгений Машеров в сообщении #1369085 писал(а):
Ну, если Вам удобна оптимизация - может, свести к ней? Оптимизируя невязку.
Я думал про это много раз, но как это грамотно сделать? В смысле как правильно построить функцию невязки? Перенести в уравнениях всё в одну сторону, возвести в квадрат и сложить? Но складывать надо соразмерные числа, а тут во втором уравнении экспоненты. Могут возникнуть ошибки округления и прочие гадости арифметики с плавающей точкой. Плюс кто сказал, что минимум будет только в точке решения? Вдруг там ещё какие-нибудь локальные минимумы есть? Надо анализировать поведение четырёхмерной функции, а это задача не очень. Как вообще решают численно системы нелинейных уравнений?

mihiv в сообщении #1369088 писал(а):
Можно переписать первое уравнение в виде... и перейти к новым неизвестным:
Спасибо! Это просто гениальная идея! Таким образом можно задать одну из новых переменных, выразить явно вторую, через новые выразить мои углы и подставить их во второе уравнение, решая его численно по первой новой неизвестной. Это вполне осуществимый план.

Правда, я сейчас вгляделся внимательно в первую формулу на предмет знаков и границ и понял, что что-то не так. Перепроверил решение ещё раз и, действительно, нашёл ошибку. Правильно будет так:\[\pi -\left( {{\varphi }_{2}}-{{\varphi }_{1}} \right)=N\left( \sin {{\varphi }_{2}}-\sin {{\varphi }_{1}} \right)\]
После тригонометрического преобразования будет:$$\pi -\left( {{\varphi }_{2}}-{{\varphi }_{1}} \right)=2N\cos \frac{{{\varphi }_{2}}+{{\varphi }_{1}}}{2}\sin \frac{{{\varphi }_{2}}-{{\varphi }_{1}}}{2}$$
И сумму углов можно выразить через разность. При этом на разность накладывается ограничение:\[{{\beta }_{0}}<\frac{{{\varphi }_{2}}-{{\varphi }_{1}}}{2}<\frac{\pi }{2}\]
где $\beta_0$ — решение уравнения:$$N\sin {{\beta }_{0}}+{{\beta }_{0}}=\frac{\pi }{2}$$\[0<{{\beta }_{0}}<\frac{\pi }{2}\]

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение16.01.2019, 16:10 
Заслуженный участник


05/08/14
1564
B@R5uk в сообщении #1369056 писал(а):
Просто у меня обширный опыт численной оптимизации, но я никогда не сталкивался с решением нелинейных систем численно.

Гладкая оптимизация всегда сводится к системе уравнений. А дальше методом Ньютона или его вариациями решать. И наоборот нахождение корней системы можно свести к минимизации суммы квадратоа остатков. Особенно удобно, если остатки малы при начальном прииближении - легко Гессиан считать. Если масштабы остатков разные, то почти всегда можно умножить левую и правую часть на один множитель, чтобы получить необходимый масштаб.

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение16.01.2019, 18:17 


11/07/16
802
Цитата:
может можно выразить одну неизвестную через другую из первого уравнения аналитически с помощью какой-нибудь специальной функции, чтобы подставить во второе?

Одно из решений первого уравнения - это $\varphi_2=\pi-\varphi_1 .$

 Профиль  
                  
 
 Re: Решить систему трансцендентных уравнений
Сообщение25.01.2020, 05:49 
Аватара пользователя


26/05/12
1534
приходит весна?
Наткнулся среди своих старых тем на эту и долго и упорно пытался вспомнить, в какой же задаче возникла эта симпатичная система уравнений. Так и не вспомнил, пока не перерыл всю папку с MATLAB-программами, где я, очевидно, решал эту систему численно и сохранил документ с выводом формул.

Оказалось, что это задача о двухполупериодном выпрямителе. При некоторых упрощающих допущениях установившийся режим рассчитывается через решение этой системы. Причём: $$N=\frac{{{U}_{source}}C\omega }{{{I}_{load}}}$$ $$M=\omega \tau =\left( {{R}_{source}}+{{R}_{diod}} \right)C\omega$$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: lantza, mihaild


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group