Форум программистов, компьютерный форум, киберфорум
Численные методы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.53/53: Рейтинг темы: голосов - 53, средняя оценка - 4.53
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
1

Примеры решения нелинейных уравнений методом Драгилева

21.07.2019, 20:55. Показов 10303. Ответов 76
Метки нет (Все метки)

По многочисленным просьбам участников форума рассмотрим примеры с применением метода Драгилева.
Пример: https://www.cyberforum.ru/cgi-bin/latex.cgi?x+y-2=0;
Левую часть уравнения, когда мы говорим о подмножестве всего множества решений, задаваемым исходным уравнением, можно рассматривать как функцию от https://www.cyberforum.ru/cgi-bin/latex.cgi?t , где https://www.cyberforum.ru/cgi-bin/latex.cgi?x=x(t)и https://www.cyberforum.ru/cgi-bin/latex.cgi?y=y(t).
Полная производная этой функции:
https://www.cyberforum.ru/cgi-bin/latex.cgi?1\cdot dx(t)/dt + 1\cdot dy(t)/dt = 0;
Относительно производных https://www.cyberforum.ru/cgi-bin/latex.cgi?dx(t)/dt и https://www.cyberforum.ru/cgi-bin/latex.cgi?dy(t)/dt это линейное однородное уравнение, и мы можем выразить одну переменную через другую, которую назовём свободной. Пусть свободной переменной будет https://www.cyberforum.ru/cgi-bin/latex.cgi?dy(t)/dt.
https://www.cyberforum.ru/cgi-bin/latex.cgi?dx(t)/dt = -1\cdot dy(t)/dt/1;
Поскольку свободная переменная может принимать любые значения, мы, чтобы избавиться от знаменателя, приравняем её, в данном случае, 1 и получим следующую систему автономных дифференциальных уравнений:
https://www.cyberforum.ru/cgi-bin/latex.cgi?dx(t)/dt=-1;
https://www.cyberforum.ru/cgi-bin/latex.cgi?dy(t)/dt= 1;
с начальными условиями, которые соответствуют какому-нибудь точечному решению исходного уравнения, например:
https://www.cyberforum.ru/cgi-bin/latex.cgi?x(0)=0;
https://www.cyberforum.ru/cgi-bin/latex.cgi?y(0)=2;
Решением системы дифференциальных уравнений будет та же самая прямая, только заданная параметрически:
https://www.cyberforum.ru/cgi-bin/latex.cgi?x(t)= -t;
https://www.cyberforum.ru/cgi-bin/latex.cgi?y(t)= t+2;
То есть, мы задали зависимость координат от длины прямой.
Следующий очень простой пример
https://www.cyberforum.ru/cgi-bin/latex.cgi?x^2+y^2-1=0
интересующиеся могут решить самостоятельно по аналогии с первым примером.
Для большинства задач подобные системы решаются численно, поэтому надо иметь соответствующий инструментарий.
Системы с числом переменных, равным числу уравнений, решаются с помощью ввода в систему дополнительной переменной, как в методах продолжения по параметру.
Подробнее по ссылкам в теме
Метод итераций для уравнений
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2019, 20:55
Ответы с готовыми решениями:

Система нелинейных уравнений, методы решения
Доброго времени суток! Вопрос такой - есть cистема нелинейных уравнений:...

Метод Ньютона для решения систем нелинейных уравнений.
Существуют ли алгоритмы, методы выбора начального приближения для метода Ньютона? Задача такая:...

Метод Ньютона для решения системы нелинейных уравнений
sin(x+2)-y=1.5 x+cos(y-2)=0.5 решить методам Ньютона с погрешностью 0.0001.За начальные...

Задание на тему Численные методы решения нелинейных уравнений
Помогите решить.

76
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
22.07.2019, 11:06  [ТС] 2
Текст предыдущего поста был зачем-то продублирован полностью. Удалено.
Пример решения системы двух нелинейных уравнений с двумя переменными:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases} & \(4\cdot (x1^2+x2-11))\cdot x1+2\cdot x1+2\cdot x2^2+cos(x1)-14=0;   \\  & \2\cdot x1^2+2\cdot x2+(4\cdot (x2^2+x1-7))\cdot x2-sin(x2)-22=0; \end{cases}

Введём в систему дополнительную переменную https://www.cyberforum.ru/cgi-bin/latex.cgi? v . Сделаем это следующим образом: выберем какие-нибудь значения исходных переменных, например, https://www.cyberforum.ru/cgi-bin/latex.cgi?x1= -1. , x2 = 1.; и вычислим от них значения левых частей уравнений – невязки. От каждого уравнения отнимем его же невязку в выбранной точке, умножив её на новую переменную https://www.cyberforum.ru/cgi-bin/latex.cgi? v .
Получим новую систему из двух уравнений, но уже с тремя переменными:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases} & \(4\cdot (x1^2+x2-11))\cdot x1+2\cdot x1+2\cdot x2^2+cos(x1)-14 - 22.5403023\cdot  v =0;   \\  & \2\cdot x1^2+2\cdot x2+(4\cdot (x2^2+x1-7))\cdot x2-sin(x2) )-22 + 46.8414710\cdot  v =0; \end{cases}

Новая система задаёт кривую в пространстве 3d, две исходные переменные и новая введённая переменная. В случае, когда новая переменная https://www.cyberforum.ru/cgi-bin/latex.cgi? v принимает нулевое значение, кривая пересекает пространство 2d старых переменных https://www.cyberforum.ru/cgi-bin/latex.cgi?x1 , x2 , тогда решение новой системы уравнений совпадёт в точке с решением исходной системы.
Процесс поиска решений происходит следующим образом: мы решаем вспомогательную систему дифференциальных уравнений (см. описание метода) с выбранными начальными значениями старых переменных https://www.cyberforum.ru/cgi-bin/latex.cgi?x1= -1. , x2 = 1.; (начальное значение для https://www.cyberforum.ru/cgi-bin/latex.cgi? v будет всегда 1), и отслеживаем перемену знака у https://www.cyberforum.ru/cgi-bin/latex.cgi? v . В местах перемены знака новой переменной находятся решения исходной системы уравнений.
На рисунке процесс поиска решений. На плоскости линии двух цветов, это графики уравнений исходной системы. Из точки в пространстве, – наши начальные значения дифференциальной системы, – строится кривая в обоих направлениях. Места пересечения кривой с плоскостью соответствуют решениям. В данном случае для одного начального приближения найдены все решения.
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
25.07.2019, 21:33  [ТС] 3
Примеры можно показывать настолько долго, насколько позволит администрация. Особенно интересны, на мой взгляд, примеры, когда решение выводится в виде анимации. Это и чисто картинки, и вполне реальные сложные задачи, например, из области кинематики рычажных механизмов.
Было предложение участникам самостоятельно решить неявное уравнение единичной окружности с центром в начале координат. Сделать это очень просто, тем не менее пусть процесс освоения сопровождается даже самыми невероятнейшими вопросами…
0
WH
1405 / 703 / 153
Регистрация: 10.09.2013
Сообщений: 2,777
Записей в блоге: 3
26.07.2019, 13:58 4
Цитата Сообщение от one man Посмотреть сообщение
Примеры можно показывать настолько долго, насколько позволит администрация.
А почему она должна не позволить? Если будет конструктивный диалог с разбором интересного метода, примерами и т.п., то я думаю все от этого только выиграют.

Метод интересный. Можете разобрать пример, как аналитически так и в числах с получением конкретного решения, для такой достаточно простой системы уравнений? Пошагово.

https://www.cyberforum.ru/cgi-bin/latex.cgi?\large \begin{cases} & {x}^{2}+{(y-2)}^{2}=3  \\  &  0.5{x}^{2}+3{y}^{2}-12y=-9  \end{cases}

Это пересечение окружности с эллипосом, система имеет 4 корня (4 точки пересечения кривых). Пусть будет одно начальное приближение (0,0), нужно найти все 4 решения.


И второй случай, когда у нас 2 нелинейных уравнения с 3-мя неизвестными. То же на простых уравнениях (не таких как здесь) и с конкретными численными значениями.
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
27.07.2019, 10:24  [ТС] 5
Цитата Сообщение от WH Посмотреть сообщение
Можете разобрать пример, как аналитически так и в числах с получением конкретного решения, для такой достаточно простой системы уравнений? Пошагово.
Это пересечение окружности с эллипосом, система имеет 4 корня (4 точки пересечения кривых). Пусть будет одно начальное приближение (0,0), нужно найти все 4 решения.
С моей стороны были выполнены все пожелания. Есть ссылки на описание, на публикации, ссылки на примеры, на тексты программ, приведены примеры в теме… Теперь мне же предлагается ещё расписывать TeX для решения Вашего примера. А почему Вы не хотите это сделать своими руками? Ранее уже было предоставлено универсальное описание метода, по которому много народа написало свой код, подставляете туда Ваши данные и показываете всем нам решение. И не раз говорил, что отвечу на конкретные вопросы, которые предполагают хоть какую-то самостоятельную работу.
Да, в Вашем примере для Вашей начальной точки находятся все решения, в данном случае четыре.
Но это не говорит о том, что для любой начальной и в любом примере решения вообще могут быть обнаружены (локализованы) с помощью метода.
Цитата Сообщение от WH Посмотреть сообщение
И второй случай, когда у нас 2 нелинейных уравнения с 3-мя неизвестными. То же на простых уравнениях
Заодно перед Вами решение системы двух уравнений с тремя переменными на основе Вашей системы
Примеры решения нелинейных уравнений методом  Драгилева
, потому что после введения дополнительной переменной каждое уравнение задаёт поверхность
Примеры решения нелинейных уравнений методом  Драгилева
, а на предыдущем рисунке возникает линия пересечения этих поверхностей.
0
Вложения
Тип файла: pdf Metod_Draghilev for all.pdf (255.7 Кб, 45 просмотров)
WH
1405 / 703 / 153
Регистрация: 10.09.2013
Сообщений: 2,777
Записей в блоге: 3
27.07.2019, 10:46 6
Цитата Сообщение от one man Посмотреть сообщение
Теперь мне же предлагается ещё расписывать TeX для решения Вашего примера.
Ну, не хотите, не расписывайте. Спасибо за картинку.
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
27.07.2019, 10:50  [ТС] 7
Все примеры решаются буквально по шаблону в описании.
Небольшие трудности могут возникать при выборе начальной точки в случае больших размерностей. И ещё моменты, когда линия пересечения состоит из кусков, ну, и как бы точки самопересечения (точки бифуркации автономной дифф системы) , когда все определители обращаются в 0 одновременно.

Добавлено через 4 минуты
Цитата Сообщение от WH Посмотреть сообщение
Ну, не хотите, не расписывайте
Как известно из древней мудрости: кое-кого можно подвести к воде, но заставить его пить нельзя.
0
WH
1405 / 703 / 153
Регистрация: 10.09.2013
Сообщений: 2,777
Записей в блоге: 3
27.07.2019, 11:26 8
Вы вообще поняли, почему темы начинаемые вами умирают так и не начавшись? Вспомните еще одну древнюю мудрость, не заставляйте подсказывать.
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
27.07.2019, 12:25  [ТС] 9
Цитата Сообщение от WH Посмотреть сообщение
Вы вообще поняли, почему темы начинаемые вами умирают так и не начавшись? Вспомните еще одну древнюю мудрость, не заставляйте подсказывать.
Метод Драгилева живёт и процветает. При жизни автора не случилось, но хоть так. Вам наличие зарубежных публикаций уже многолетней давности не говорит ни о чём? del Например, на зарубежном форуме обсуждают лишь правильность написания фамилии автора по-английски, потому что с основным проблем нет. Вам же прочитать недосуг, зато на одномерную итерационную ахинею, заполнившую раздел, у Вас время есть.
del
0
WH
1405 / 703 / 153
Регистрация: 10.09.2013
Сообщений: 2,777
Записей в блоге: 3
27.07.2019, 12:47 10
del
 Комментарий модератора 
Правило 3.1: "Уважительно относитесь к другим участникам форума."
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
27.07.2019, 15:24  [ТС] 11
Вернёмся к невыполненному домашнему заданию.
Пример неявного уравнения окружности единичного радиуса с центром в начале координат https://www.cyberforum.ru/cgi-bin/latex.cgi?x^2+y^2-1=0 .
Повторяем все действия, как в примере с неявным уравнением прямой. Полная производная:
https://www.cyberforum.ru/cgi-bin/latex.cgi?2\cdot x(t)\cdot dx(t)/dt + 2\cdot y(t) \cdot dy(t)/dt = 0;
Относительно производных https://www.cyberforum.ru/cgi-bin/latex.cgi?dx(t)/dt и https://www.cyberforum.ru/cgi-bin/latex.cgi?dy(t)/dt это линейное однородное уравнение, и мы выражаем одну переменную через другую. Пусть свободной переменной тоже будет https://www.cyberforum.ru/cgi-bin/latex.cgi?dy(t)/dt, тогда
https://www.cyberforum.ru/cgi-bin/latex.cgi?dx(t)/dt = - y(t)\cdot dy(t)/dt/x(t), чтобы избавиться от знаменателя, мы делаем следующее присвоение:
https://www.cyberforum.ru/cgi-bin/latex.cgi?dy(t)/dt= x(t);
Это обычное правило Крамера в применении его к системе из одного уравнения. (В случае большего числа уравнений запись в TeX будет громоздкой, что можно понять из описания метода. Для этого и существуют языки программирования, чтобы не заполнять определители руками. Напомню, тексты программ в разных средах программирования тоже доступны по ссылкам. ) Получаем систему автономных дифференциальных уравнений:
https://www.cyberforum.ru/cgi-bin/latex.cgi?dx(t)/dt=-y(t);
https://www.cyberforum.ru/cgi-bin/latex.cgi?dy(t)/dt= x(t);
с начальными условиями, которые позволят воспроизвести нашу несчастную окружность, например:
https://www.cyberforum.ru/cgi-bin/latex.cgi?x(0)=1;
https://www.cyberforum.ru/cgi-bin/latex.cgi?y(0)=0;
Решением будет:
https://www.cyberforum.ru/cgi-bin/latex.cgi?x(t)= cos(t);
https://www.cyberforum.ru/cgi-bin/latex.cgi?y(t)=sin(t);
Для разных начальных данных могут быть внешне отличные решения, но они всегда будут воспроизводить одну и ту же единичную окружность с центром в начале координат.

Тогда новое задание. Решить неявное уравнение окружности какого-нибудь другого конкретного радиуса с центром в какой-нибудь другой конкретной точке.
1
Модератор
Эксперт по математике/физике
6295 / 4019 / 1490
Регистрация: 09.10.2009
Сообщений: 7,488
Записей в блоге: 4
27.07.2019, 17:37 12
one man, понятно, что замена будет тоже тригонометрическая с масштабирующим коэффициентом R и сдвигом в (x0;y0), но если провести всю эту необычную цепочку, то ...
https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(x-x_0 \right)^2+\left(y-y_0 \right)^2=R^2 \: \: \left(... \right)'_t\\\left(x-x_0 \right)\dot{x}+\left(y-y_0 \right)\dot{y}=0\\\dot{x}=-\frac{y-y_0}{x-x_0}\dot{y}\\\dot{y}:=x-x_0 \: \Rightarrow \: \dot{x}=y_0-y\\\begin{cases}\dot{x}=-y+y_0\\ \dot{y}=x-x_0  \end{cases} \: \Leftrightarrow \: \begin{pmatrix}\dot{x}\\ \dot{y}\end{pmatrix}=\begin{pmatrix}0 & -1\\ 1 & 0\end{pmatrix}\begin{pmatrix}x\\ y\end{pmatrix}+\begin{pmatrix}y_0\\ -x_0\end{pmatrix}
Собственные числа матрицы https://www.cyberforum.ru/cgi-bin/latex.cgi?\lambda =\pm i, тогда
https://www.cyberforum.ru/cgi-bin/latex.cgi?x=C_1 \cos t + C_2 \sin t+x_0 \: \Rightarrow \: \dot{x}=-C_1 \sin t + C_2 \cos t \: \Rightarrow \: y=y_0-\dot{x}=y_0+C_1 \sin t-C_2 \cos t
Начальные условия https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(x;y \right)\left|_{t=0}=\left(x_0+R;y_0 \right). Имеем
https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}C_1+C_2 \cdot 0+x_0=x_0+R \\ y_0+C_1 \cdot 0+C_2=y_0  \end{cases} \: \Rightarrow \: c_1=R; \: C_2=0 \: \Rightarrow \: \left(x;y \right)=\left(x_0+R \cos t; \: y_0+R \sin t \right)
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
27.07.2019, 18:24  [ТС] 13
Цитата Сообщение от jogano Посмотреть сообщение
понятно
Вот, теперь понятно, что Вам не составило бы никакого труда перейти к любому примеру в текущей теме, и к примеру в этой. Единственно, решения, в основном, численные.

Собственно, всё самое важное сказано. Применяем правило Крамера. Одна (свободная) любая переменная равна со знаком “-” главному определителю системы, а остальные равны определителям, в которых соответствующий им столбец заменён на коэффициенты при свободной переменной. Простое гениальное решение, основанное на элементарной математике, и мы избавляемся от знаменателей. Таким образом, мы спокойно проходим точки перегибов, экстремумов, участки многозначности неявной функции, потому что значения координат ставятся в зависимость от длины кривой. Часто, если численно, можно пройти и точку бифуркации. Но нам этого не надо.
Примеры, когда число переменных https://www.cyberforum.ru/cgi-bin/latex.cgi?M - N >1, где https://www.cyberforum.ru/cgi-bin/latex.cgi?N число уравнений, решаются аналогично случаю https://www.cyberforum.ru/cgi-bin/latex.cgi?M - N =1. Для этого просто в определённый момент фиксируются значения остальных “свободных” переменных.
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
28.07.2019, 15:14  [ТС] 14
В отличие от методов продолжения решения по параметру, когда в исходную систему уравнений

https://www.cyberforum.ru/cgi-bin/latex.cgi? F(X)=0;
вводится параметр https://www.cyberforum.ru/cgi-bin/latex.cgi? v , чтобы поставить переменные системы в непрерывную зависимость от https://www.cyberforum.ru/cgi-bin/latex.cgi? v

https://www.cyberforum.ru/cgi-bin/latex.cgi? F(X) - v\cdot F(X0)  = 0;

и получить решение системы при https://www.cyberforum.ru/cgi-bin/latex.cgi? v = 0 , в методе Драгилева https://www.cyberforum.ru/cgi-bin/latex.cgi? v  принимается, как и исходные переменные, за функцию от длины кривой и процесс движение по кривой идёт в пространстве переменных https://www.cyberforum.ru/cgi-bin/latex.cgi?X ,v размерности на 1 большем, чем размерность пространства исходных переменных. В случае же методов продолжения по параметру мы движемся по проекции этой кривой на пространство исходных переменных https://www.cyberforum.ru/cgi-bin/latex.cgi?X .

Метод Ньютона является частным случаем методов продолжения решения по параметру. На самом деле, продифференцируем

https://www.cyberforum.ru/cgi-bin/latex.cgi? F(X) - v\cdot F(X0)  = 0 по https://www.cyberforum.ru/cgi-bin/latex.cgi? v  ,

получим дифференциальное уравнение относительно https://www.cyberforum.ru/cgi-bin/latex.cgi?X(v) :

https://www.cyberforum.ru/cgi-bin/latex.cgi? (F(X(v))/ dX(v)) \cdot (dX(v)/ dv) - F(X0)  = 0;

Если это уравнение решать методом Эйлера с шагом 1, то мы получаем известную формулу метода Ньютона.
1
Модератор
Эксперт по математике/физике
6295 / 4019 / 1490
Регистрация: 09.10.2009
Сообщений: 7,488
Записей в блоге: 4
28.07.2019, 16:24 15
one man, попробую решить систему из поста #4.
(1) https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}x^2+\left(y-2 \right)^2=3  \\ 0,5x^2+3y^2-12y=-9  \end{cases}
Начальное приближение (0;0), значит, невязка 1-го уравнения (после переноса 3 влево) равна 1, 2-го уравнения после переноса -9 влево равна 9. Имеем
(2) https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}x^2+\left(y-2 \right)^2-3-v=0  \\ 0,5x^2+3y^2-12y+9-9v=0  \end{cases} \: \left(... \right)'_t \: \Rightarrow \: \begin{cases}2x\dot{x}+2\left(y-2 \right)\dot{y}-\dot{v}=0  \\ x\dot{x}+6y\dot{y}-12 \dot{y}-9\dot{v}=0  \end{cases}
В матричной форме относительно неизвестных https://www.cyberforum.ru/cgi-bin/latex.cgi?\dot{x},\dot{y}
(3) https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(\begin{matrix}2x & 2y-4\\ x & 6y-12\end{matrix}\left|\begin{matrix}\dot{v}\\ 9\dot{v}\end{matrix} \right. \right)
Крамер (5), (6), (7), (8), (9):
https://www.cyberforum.ru/cgi-bin/latex.cgi?\Delta =12x\left(y-2 \right)-2x\left(y-2 \right)=10x\left(y-2 \right)\\\Delta _{\dot{x}}=\begin{vmatrix}\dot{v} & 2\left(y-2 \right)\\ 9\dot{v} & 6\left(y-2 \right)\end{vmatrix}=-12\dot{v}\left(y-2 \right)\\\Delta _{\dot{y}}=\begin{vmatrix}2x & \dot{v}\\ x & 9\dot{v}\end{vmatrix}=17x\dot{v}\\\dot{x}=\frac{-12\dot{v}\left(y-2 \right)}{10x\left(y-2 \right)}\\\dot{y}=\frac{17x\dot{v}}{10x\left(y-2 \right)}
Дальше, по идее,
(10) https://www.cyberforum.ru/cgi-bin/latex.cgi?\dot{v}:=10x\left(y-2 \right) \: \Rightarrow \: \dot{x}=-12\left(y-2 \right), \: \dot{y}=17x
и получаем линейную систему двух диф. ур-ов:
(11) https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}\dot{x}=-12y+24 \\  \dot{y}=17x \end{cases}, \: \Leftrightarrow \: \begin{pmatrix}\dot{x}\\ \dot{y}\end{pmatrix}=\begin{pmatrix}0 & -12\\ 17 & 0\end{pmatrix}\begin{pmatrix}x\\ y\end{pmatrix}+\begin{pmatrix}24\\ 0\end{pmatrix} \: x\left(0 \right)=y\left(0 \right)=0
По идее, если эта система решается явно, то находятся зависимости https://www.cyberforum.ru/cgi-bin/latex.cgi?x\left(t \right),y\left(t \right), выражения для которых подставляются в
(12) https://www.cyberforum.ru/cgi-bin/latex.cgi?\left{\dot{v}=10x\left(y-2 \right)\\v\left(0 \right)=1 \right., и дальше пытаемся как-то подобрать такое t, перебирая их от 0 в обе стороны, чтобы v(t)=0
А если система для производных х и y не решается явно, то находим приближённо
(13) https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}v_{n+1}=v_n+10x_n\left(y_n-2 \right) \cdot dt\\ x_{n+1}=x_n-12\left(y_n-2 \right) \cdot dt\\ y_{n+1}=y_n+17x_n \cdot dt\\ \end{cases} от начальных условий https://www.cyberforum.ru/cgi-bin/latex.cgi?x\left(0 \right)=0; \: y\left(0 \right)=0; \: v\left(0 \right)=1, пытаясь сделать v(t)=0
Правильно я понимаю метод?
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
28.07.2019, 21:22  [ТС] 16
Начиная с (10) небольшая ошибка. Перед этим определителем стоит “-”. Там как получается: если из исходной системы в уравнениях вычитаем их значение в начальной точке, то “-” перед главным определителем, а перед другими “+”, и наоборот, если прибавляем значение в начальной точке. Короче, в нашем случае “-”.
Просто дифф система из трёх уравнений. Правые части это два определителя с соответствующими заменами столбцов, и один главный, со знаком “-”.
Цитата Сообщение от jogano Посмотреть сообщение
пытаемся как-то подобрать такое t, перебирая их от 0 в обе стороны, чтобы v(t)=0
Цитата Сообщение от jogano Посмотреть сообщение
пытаясь сделать v(t)=0
И t мы не подбираем и не пытаемся сделать v(t)=0, t это независимая переменная, величина которой при определённой нормировке очень точно соответствует длине пространственной кривой. Это интегральная кривая (она анимирована на картинке) и мы движемся по ней, решая 3 дифф уравнения. А уже пересечёт интегральная кривая плоскость или не пересечёт, и когда пересечёт – зависит от начальной точки, от точности счёта, от времени счёта...
Поверхности на второй картинке задаются изменёнными уравнениями исходной системы. Наша интегральная кривая – это линия пересечения этих поверхностей. Вообще, найти линию пересечения гладких поверхностей аналитически чаще всего не представляется возможным, поэтому в практических целях на это лучше совсем не тратить силы, а довериться соответствующей процедуре.

Добавлено через 1 час 9 минут
Один раз реализовав весь процесс выкладок в мат пакете, можно навсегда избавиться от весьма вероятных рутинных ошибок, подставляя лишь очередную систему, размерности и начальные данные.

Добавлено через 1 час 46 минут
Вспомнил. Может, кому пригодится. Метод Драгилева очень неплохо разобран на форуме по бесплатному пакету
SMath Studio. Там для чтения осталась русская часть форума и активна английская. Пакет очень схож с широко распространённым Mathcad-м и, вроде, иногда получается переносить тексты в обе стороны. По методу несколько тем, а ниточка тянется ещё с форума старой экспоненты.
Про форум по Maple ранее неоднократно упоминал. Mathcad-м не владею.

Добавлено через 5 минут
Цитата Сообщение от one man Посмотреть сообщение
Начиная с (10) небольшая ошибка.
Эта ошибка возникла раньше, когда речь зашла о правиле Крамера. Перед главным определителем должен быть "-".
Пропустил.
1
Модератор
Эксперт по математике/физике
6295 / 4019 / 1490
Регистрация: 09.10.2009
Сообщений: 7,488
Записей в блоге: 4
30.07.2019, 06:14 17
Понятно,
(10') https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}\dot{v} =-10x\left(y-2 \right)\\ \dot{x}=12\left(y-2 \right)  \\ \dot{y}=-17x  \end{cases}
Да, точки ищутся, только точность по t нужна высокая, порядка https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{-3} а то и более высокая - в Экселе слишком длинные столбцы со значениями x,y,v получаются.
Видимо, в посте #5 на первом графике неподвижные кривые у вас https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(x\left(t \right),y\left(t \right),0 \right) для обоих уравнений в системе координат XYZ, а анимированная кривая https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(x\left(t \right),y\left(t \right),v\left(t \right) \right)?
А плоском случае для одного уравнения f(x)=0 (как в других темах) неподвижная кривая https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(x\left(t \right),f\left(x\left(t \right) \right) \right), а подвижная https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(x\left(t \right),v\left(t \right)  \right)...
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
30.07.2019, 09:04  [ТС] 18
Цитата Сообщение от jogano Посмотреть сообщение
Да, точки ищутся, только точность по t нужна высокая, порядка а то и более высокая - в Экселе слишком длинные столбцы со значениями x,y,v получаются.
Нам нет необходимости двигаться по кривой с маленьким шагом. Как только решение локализовано, мы можем уточнить его маленьким шагом уже только на этом малюсеньком участке кривой, где обнаружено решение, или каким-нибудь другим, более простым, способом.

Цитата Сообщение от jogano Посмотреть сообщение
Видимо, в посте #5 на первом графике неподвижные кривые у вас для обоих уравнений в системе координат XYZ, а анимированная кривая ?
Неподвижные графики строятся непосредственно функциями Maple. А анимированная кривая да, правильно.

Цитата Сообщение от jogano Посмотреть сообщение
А плоском случае для одного уравнения f(x)=0 (как в других темах) неподвижная кривая , а подвижная
Подвижные участки это https://www.cyberforum.ru/cgi-bin/latex.cgi? y(t), x(t) . Там нет https://www.cyberforum.ru/cgi-bin/latex.cgi? v(t) , потому что мы рассматриваем уравнение https://www.cyberforum.ru/cgi-bin/latex.cgi? f(x) как неявное https://www.cyberforum.ru/cgi-bin/latex.cgi? F(x,y)=0 , а перемену знака отслеживаем по https://www.cyberforum.ru/cgi-bin/latex.cgi?  y  . Это только в одномерном случае для удобства и использовании общей программы с https://www.cyberforum.ru/cgi-bin/latex.cgi? F(x,y)=0 .
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
30.07.2019, 18:33  [ТС] 19
Цитата Сообщение от jogano Посмотреть сообщение
только точность
Довольно высокая точность по невязке у изменённых уравнений по всей длине кривой. То есть, когда мы решаем именно недоопределённую систему уравнений.
Как достойные примеры это задачи кинематики рычажных механизмов и обратной кинематики манипуляторов. Но там, как правило, много уравнений, и в рамках форума очень тяжело, мягко говоря, рассказать о содержании примера, даже просто показать систему. (Это на MaplePrimes, где тексты Maple.) Картинки с пояснениями легко.

Добавлено через 2 часа 17 минут
Цитата Сообщение от jogano Посмотреть сообщение
Правильно я понимаю метод?
Да, и по поводу правильности понимания Вами метода. Очевидно, что с методом Вы разобрались. Если и присутствуют какие-то затемнённые места, то, скорее, это от моего неполного понимания Ваших вопросов. Но все вопросы у Вас отпадут, как только Вы воспользуетесь матпакетом. В том плане, что пакет возьмёт себе всю рутину, оставив взамен бесконечное множество интересных результатов.
0
79 / 186 / 32
Регистрация: 09.06.2015
Сообщений: 640
02.08.2019, 10:23  [ТС] 20
Пример функции:

https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x1,x2)= x1^4+x2^4+0.4\cdot sin(7\cdot x1)+0.3\cdot sin(4\cdot Pi\cdot x2) - 1; .

Множество точек, на котором

https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x1,x2)= 0 ,

можно назвать решением одного уравнения с двумя неизвестными:

https://www.cyberforum.ru/cgi-bin/latex.cgi? x1^4+x2^4+0.4\cdot sin(7\cdot x1)+0.3\cdot sin(4\cdot Pi\cdot x2) - 1=0; .
Это:

Примеры решения нелинейных уравнений методом  Драгилева


Если говорить об условиях существования неявных функций, как

https://www.cyberforum.ru/cgi-bin/latex.cgi? x1=x1(x2)  , так и https://www.cyberforum.ru/cgi-bin/latex.cgi?x2=x2(x1) ,

то в нескольких точках решения https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x1,x2)= 0
эти условия нарушаются – соответствующие производные обращаются в 0. Но существуют непрерывные однозначные зависимости координат от длины линии решения:
https://www.cyberforum.ru/cgi-bin/latex.cgi? x1=x1(t)  и https://www.cyberforum.ru/cgi-bin/latex.cgi? x2=x2(t)  , где https://www.cyberforum.ru/cgi-bin/latex.cgi? t  длина линии.

За единицу времени точка на графике проходит строго определённое расстояние, другими словами, по линии графика осуществляется равномерное движение. При численном решении это обеспечивается нормированием приращения координат, как написано в учебнике по математическому анализу:

https://www.cyberforum.ru/cgi-bin/latex.cgi? dx1=dx1/{(dx1^2+dx2^2)}^{1/2};
https://www.cyberforum.ru/cgi-bin/latex.cgi? dx2=dx2/{(dx1^2+dx2^2)}^{1/2} ,

что позволяет довольно точно вычислять длину любого участка линии.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2019, 10:23

Насчёт сходимости методов решения системы нелинейных уравнений
Здравствуйте дорогие форумчане :) Хотел узнать проблему насчёт сходимости СНУ(системы нелинейных...

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

Метод Ньютона для решения систем нелинейных уравнений с 3 неизвестными
Собственно интересует каким образом можно найти начальное приближение X(0)

Решение системы нелинейных уравнений методом ньютона
Нужно решить такую систему : sin(x + y) - 1.122*x = 0.498 x2 + y2 = 1 C методом я разобрался,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.