Доброго времени суток. Не подскажите, где найти информацию о методе Драгилёва? После мучительных поисков в нете ничего толкового не нашёл, только упоминание, что данный метод применяется в мат. пакетах, для нахождения пересечений поверхностей. У меня схожая задача.
Имеется три нелинейных уравнения:
F1(x,y,z) = R1
F2(x,y,z) = R2
F3(x,y,z) = R3
Необходимо найти все её корни. Должно получиться 4 вектора решения. Поиски аналитического решения не увенчались успехом. Известные мне численные методы решения СНУ имеют всем известные недостатки и поэтому мало пригодны. В нете случайно наткнулся на этот чудо-метод, метод Драгилёва, но описания его не нашёл. Как я понял метод является обобщением метода Ньютона. Ребят подскажите, направьте на путь истинный.
Данная система без проблем решается с помощью пакета матлаб и функции solve().Но мне нужно будет положить алгоритм поиска решения на код. Поэтому матлаб здесь мало пригоден. Можно конечно будет сформировать dll, но этот вариант меня не устраивает. К тому же матлаб даёт погрешность при решение моей СНУ (о чём говорит варнинг, после выхода из solve() )
Метод Драгилева для решения СНУ
Модератор: Admin
-
- Сообщения: 1660
- Зарегистрирован: Вс дек 21, 2003 8:52 am
Посмотрите следующие темы на форумах:
1. "Метод Драгилева А.В. и системы ОДУ с краевыми условиями": http://forum.exponenta.ru/viewtopic.php ... highlight=
2. "Применение метода A.B. Драгилева к расчету положений и анимации механизмов": http://ru.smath.info/forum/yaf_postst23 ... izmov.aspx
1. "Метод Драгилева А.В. и системы ОДУ с краевыми условиями": http://forum.exponenta.ru/viewtopic.php ... highlight=
2. "Применение метода A.B. Драгилева к расчету положений и анимации механизмов": http://ru.smath.info/forum/yaf_postst23 ... izmov.aspx
-
- Сообщения: 1354
- Зарегистрирован: Вс дек 04, 2011 11:07 pm
Здравствуйте. По этим ссылкам я ходил. Сегодня даже нашёл PDFку какую-то. Там описывалось решение системы нелинейных уравнений, состоящая из 3 уравнений и 4 неизвестных. Далее автор продифференцировал всё по времени и продифференцированную 4 переменную (dx4/dt) принял за свободный член. Потом меня добила фраза, dx4/dt может принимать любое значение, поэтому примем её равной для удобства тому-то. Это как вообще ? И как вообще может быть решена система из 3 ур-ий и 4 неизвестными, это же бесконечное множество решений. Вообщем я ничего не понимаю =((((
Статья называется - "Метод расчёта рычажных механизмов".
Статья называется - "Метод расчёта рычажных механизмов".
-
- Сообщения: 1354
- Зарегистрирован: Вс дек 04, 2011 11:07 pm
Спасибо за ответы. Вообщем кое что прояснилось по методу Драгилёва. Идея метода в получение уравнения кривой по заданной точке. Допустим у нас есть n - 1 уравнение поверхностей с n неизвестными и известна точка на кривой полученной в результате пересечения заданных поверхностей. Первое что мы делаем это дифференцируем уравнения по параметру t. После последующих преобразований принимает один из дифференциалов за свободный член и решаем систему Диф уравнений например методом Рунге-Кута. А дальше что ?
Вот моя система образуется уравнением сферы и двумя уравнениями гиперболоидов, как применить Драгилёва для нахождения 4 точек на сфере полученные в результате пересечения двух гиперболоидов и сферы (возможно 4 вектора решения)? Спасибо заранее.
[/code]
Вот моя система образуется уравнением сферы и двумя уравнениями гиперболоидов, как применить Драгилёва для нахождения 4 точек на сфере полученные в результате пересечения двух гиперболоидов и сферы (возможно 4 вектора решения)? Спасибо заранее.
[/code]
-
- Сообщения: 1776
- Зарегистрирован: Вс май 01, 2005 9:02 pm
jklgjkjgk;
Последний раз редактировалось алексей_алексей Чт июн 16, 2016 11:01 am, всего редактировалось 1 раз.
-
- Сообщения: 1354
- Зарегистрирован: Вс дек 04, 2011 11:07 pm
алексей_алексей писал(а):Если у Вас три уравнения и три переменных, то добавляете четвёртую переменную и тд по описанию метода Драгилева http://forum.exponenta.ru/viewtopic.php?t=3892&start=0
Алексей Борисович!
В Вашей ссылке 39 страниц, причем картинка с описанием метода Драгилева в самом начале уже не доступна.
-
- Сообщения: 1776
- Зарегистрирован: Вс май 01, 2005 9:02 pm
Здравствуйте. Пытаюсь решить систему:
http://s017.radikal.ru/i435/1511/21/75f1d03a96dc.jpg
или что тоже самое
x^2-2*x1*x+x1^2+y^2-2*y1*y+y1^2+z^2+2*z1*z+z1^2-R1^2,
x^2-2*x2*x+x2^2+y^2-2*y2*y+y2^2+z^2+2*z2*z+z2^2-R1^2+2*R21*R1-R21^2,
x^2-2*x3*x+x3^2+y^2-2*y3*y+y3^2+z^2+2*z3*z+z3^2-R2^2,
x^2-2*x4*x+x4^2+y^2-2*y4*y+y4^2+z^2+2*z4*z+z4^2-R2^2+2*R21*R2-R43^2,
x^2+y^2+z^2-R^2
(x,y,z,R1,R2) - неизвестный. Остальное константы.
с помощью базиса Грёбнера.
В результате нашёл редуцированный S-многочлен: R2^2+R2*M26+E26=0,
где M26,E26 - константы.
иными словами нашёл многочлен содержащий только самую младшую переменную в лексикографическом порядке x>y>z>R1>R2. Но по идеи я должен был получить уравнение 8 степени, а не 2, т.к. максимально возможно количество пересечений двух гиперболоидов не имеющих общего фокуса и сферы может дать 8 точек (корней). Неужели я неправильно нашёл этот S-многочлен? Просто в процессе нахождения базиса Гребнера мне не разу не встретился старший моном содержащий произведение двух или более неизвестных.
Matlab с помощью функции solve находит 8 корней, а эта функция насколько мне известно, как раз и использует базис Грёбнера.
Приведённая выше система эквивалентна этой:
http://s020.radikal.ru/i723/1511/f0/7cedef34b124.jpg
при b = 1.
Попробовать найти базис Грёбнера для неё? Но матлаб находит для двух приведённых систем одинаковые корни. Мне кажется 1 проще.
http://s017.radikal.ru/i435/1511/21/75f1d03a96dc.jpg
или что тоже самое
x^2-2*x1*x+x1^2+y^2-2*y1*y+y1^2+z^2+2*z1*z+z1^2-R1^2,
x^2-2*x2*x+x2^2+y^2-2*y2*y+y2^2+z^2+2*z2*z+z2^2-R1^2+2*R21*R1-R21^2,
x^2-2*x3*x+x3^2+y^2-2*y3*y+y3^2+z^2+2*z3*z+z3^2-R2^2,
x^2-2*x4*x+x4^2+y^2-2*y4*y+y4^2+z^2+2*z4*z+z4^2-R2^2+2*R21*R2-R43^2,
x^2+y^2+z^2-R^2
(x,y,z,R1,R2) - неизвестный. Остальное константы.
с помощью базиса Грёбнера.
В результате нашёл редуцированный S-многочлен: R2^2+R2*M26+E26=0,
где M26,E26 - константы.
иными словами нашёл многочлен содержащий только самую младшую переменную в лексикографическом порядке x>y>z>R1>R2. Но по идеи я должен был получить уравнение 8 степени, а не 2, т.к. максимально возможно количество пересечений двух гиперболоидов не имеющих общего фокуса и сферы может дать 8 точек (корней). Неужели я неправильно нашёл этот S-многочлен? Просто в процессе нахождения базиса Гребнера мне не разу не встретился старший моном содержащий произведение двух или более неизвестных.
Matlab с помощью функции solve находит 8 корней, а эта функция насколько мне известно, как раз и использует базис Грёбнера.
Приведённая выше система эквивалентна этой:
http://s020.radikal.ru/i723/1511/f0/7cedef34b124.jpg
при b = 1.
Попробовать найти базис Грёбнера для неё? Но матлаб находит для двух приведённых систем одинаковые корни. Мне кажется 1 проще.