2014 dxdy logo

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

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


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


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Решение системы нелинейных уравнений особой формы
Сообщение15.07.2015, 05:32 


15/07/15
1
Доброе время суток. Столкнулся с проблемой, которая поставила передо мной несколько возможных решений.

Сразу прошу прощения за возможные (и, скорее, вероятные) ошибки ввиду того, что я химик.

Суть задачи - получение декартовых координат атомов в молекуле по матрице расстояний.

Допустим мы располагаем координатами трех точек $i j k$ в трехмерном пространстве (не важно как мы их получили). Нам нужно получить координаты $x y z$ для точки $a$, располагая матрицей расстояний $R$ между всеми четырьмя точками.

Очевидно, что искомые координаты связаны с расстояниями следующими соотношениями.

$$\left\{
\begin{array}{rcl}
 &R_{ai}^{2}=(x-x_i)^2 + (y-y_i)^2 + (z-z_i)^2& \\
 &R_{aj}^{2}=(x-x_j)^2 + (y-y_j)^2 + (z-z_j)^2& \\
 &R_{ak}^{2}=(x-x_k)^2 + (y-y_k)^2 + (z-z_k)^2& \\
\end{array}
\right.$$

На примере первого уравнения преобразуем все уравнения системы

$R_{ai}^{2}=x^2 + y^2 + z^2 + x_i^2+y_i^2+z_i^2 - 2xx_i - 2yy_i - 2zz_i$
и введем обозначение $\tilde{R}_i=R_{ai}^{2}-x_i^2-y_i^2-z_i^2$

таким образом

$\tilde{R}_i=x^2 + y^2 + z^2 - 2xx_i - 2yy_i - 2zz_i$

Пробовал решать эту проблему при помощи метода Ньютона. Но решение сильно зависит от начального приближения и особо ничего хорошего из этого не получилось. (возможно делал что-то неправильно, но если задавал хорошее начальное приближение, то все получалось)

Собственно моих незначительных познаний в матричной алгебре хватило (опять таки возможно неправильно) для того, чтобы записать систему в таком виде:

$xx^T-2Ax=b$

где $

x=\begin{pmatrix}
x\\
y\\
z
\end{pmatrix}

A=
\begin{pmatrix}
 x_i& y_i & z_i \\
 x_j& y_j & z_j \\
 x_k& y_k & z_k
\end{pmatrix}

b=\begin{pmatrix}
\tilde{R}_i\\
\tilde{R}_j\\
\tilde{R}_k
\end{pmatrix}

$

Может быть есть какой-то матричный способ решения этой задачи?

Заранее спасибо. Буду рад любой подсказке.

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


01/03/06
13619
Москва
Вычитая уравнения друг из друга, можно получить два линейных уравнения, задающих 2 плоскости. Эти две плоскости пересекутся по прямой, которая пересечет сферу, задаваемую любым из заданных уравнений, в искомой точке (или в двух точках, одна из которых - искомая).

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


23/08/07
5000
Нов-ск
MuKeP в сообщении #1037267 писал(а):
Пробовал решать эту проблему при помощи метода Ньютона. Но решение сильно зависит от начального приближения и особо ничего хорошего из этого не получилось. (возможно делал что-то неправильно, но если задавал хорошее начальное приближение, то все получалось)

Попробуйте получить начальное приближение следующим образом. Из точки $(0,0,0)$ проведите прямую через центр первой сферы. Эта прямая проткнет первую сферу в двух точках, ближайшую из этих точек к $(0,0,0)$ возьмите за сделующее приближение $(x_1, y_1, z_1)$.

Затем из точки $(x_1, y_1, z_1)$ проведите прямую через центр второй сферы. Эта прямая проткнет вторую сферу в двух точках, ближайшую из этих точек к $(x_1, y_1, z_1)$ возьмите за сделующее приближение $(x_2, y_2, z_2)$.

Затем из точки $(x_2, y_2, z_2)$ проведите прямую через центр третьей сферы. Эта прямая проткнет третью сферу в двух точках, ближайшую из этих точек к $(x_2, y_2, z_2)$ возьмите за сделующее приближение $(x_3, y_3, z_3)$.

И так далее по кругу. То, что получится, когда приближения начнут мало отличаться друг от друга, примите за начальное приближение для метода Ньютона.

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

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



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

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


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

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