2014 dxdy logo

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

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


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


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



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


26/05/12
1694
приходит весна?
При решении одной, казалось бы простой, задачи, возникла такая вот система уравнений с двумя неизвестными $\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
17976
Москва

(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
9904
Москва
Ну, если Вам удобна оптимизация - может, свести к ней? Оптимизируя невязку.

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


03/01/09
1701
москва
Можно переписать первое уравнение в виде: $\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
1694
приходит весна?
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
825
Цитата:
может можно выразить одну неизвестную через другую из первого уравнения аналитически с помощью какой-нибудь специальной функции, чтобы подставить во второе?

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

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


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

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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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