2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Метод локальных вариаций
Сообщение11.03.2010, 18:38 
Пусть дана функция I=$\sum \limits_{i=1}^{N-1}( \frac{A}{r^n_i}-\frac{B}{r^m_i})$ У нас есть 3 точки с определенными координатами (х,у). Нужно найти минимум $I$ методом локальных вариаций. Я делаю это так:
1. Выбираю число h одного порядка с x
2. Беру i-е значение х. Составляю значение x+h и х-h
3. Подставляю каждое из этих значений поочередно в исходную функцию, получаю соответственно $I$,$I_+$, $I_-$.
4. Выбираю новое значение $x_{new}$, исходя из следующих условий:
если $I \le I_+$, $I \le I_-$, то выбираем x
если $I_+ < I$, $I_+ \le I_-$, то выбираем x+h
если $I_- < I$, $I_- < I_+$, то выбираем x-h
5. Повторяем для всех х. Формируется новый набор х.
6. Повторяю это все до тех пор, пока предыдущее значение $I$ не станет равным полученному значению I и наборы х с двух итераций тоже будут одинаковыми.

7. Потом я проделываю тоже самое только по у.

Загвоздка вся в том, что не считает он правильно((( не получается равносторонний треугольник((( Вопрос состоит в том, есть ли у меня здесь какая-нить идеологическая ошибка и как правильно выбирать h.

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 18:58 
Аватара пользователя
Сферу (окружность) отменили? На ней оставаться уже необязательно?

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 19:02 
Да, на ней оставаться вроде необязательно. По крайне в условии задачи про нее ничего не сказано.

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 19:05 
Аватара пользователя
А, у Вас её изначально и не было, это всё советчики накидали. :D
Так это совсем другое дело. Это (точки) - как бы атомы, которые должны слепляться в кластеры, которые... впрочем, неважно.
Треугольник, однако, должен получаться. Грубо говоря, где у Вас шаг уменьшения h?

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 19:08 
Да, да, идея именно эта!!!) самоорганизация в кластер)))
А какое поставить условие на уменьшение h? Я ставила, чтобы стороны получались одинаковыми - программа зацикливалась(((

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 19:11 
Аватара пользователя
Дак естественно. Прекрасное условие - "что хотели, то и задали". А когда будет 5 точек, что будете задавать?
Уменьшать h надо тогда, когда никакие шаги с этим h уже не приводят к улучшению энергии. Можно сразу в 2 раза.

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 19:42 
Поставила ограничение... Получается равнобедренный треугольник... Но не равносторонний((((

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 19:47 
Аватара пользователя
Какое-какое ограничение?

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 19:51 
Выход из цикла с дроблением h происходит тогда, когда значение полученное на предыдущей итерации с предыдущим h равно значению на текущей итерации.

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 20:12 
Аватара пользователя
Так. И сколько раз так делается? Какое условие окончания?

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 20:19 
Так делается до тех пор, пока значения не становятся равны с большой точностью. Для точек с координатами (-10^-10, 10^-10), (10^-10, 10^-10), (10^-10, 0) цикл с h проходится 3 раза. Для (0,0), (10^-10, 10^-10), (10^-10,0) зацикливается, т.е. уже сделал 14 итераций и все еще считает...

-- Чт мар 11, 2010 21:30:47 --

условно говоря, программа выглядит следующим образом:
Код:
while sqrt((U_old-U_temp)^2)>eps
U_old=U_new;
U_new=0;
... % находится новое значение U_new
while x_new~=x
... % здесь получается минимум функции по х
end

while y_new~=y
... % здесь минимум по у
end
h=h/2;

end

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 20:36 
Аватара пользователя
Ой, а можно начинать с более жизненной геометрии, чтобы на первом же шаге не делить на 0 (или почти 0)?

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 20:49 
Там так получается, что потенциал выглядит для Аргона следующим образом:
$U=4*\epsilon*((\frac{\sigma}{r})^{12}-(\frac{\sigma}{r})^6)$
$\epsilon=1.6539*10^{-21}$, $\sigma=3.405*10^{-10}$. Поэтому я специально взяла расстояния порядка -10 степени, чтобы хоть что-то сократилось и на 0 не делилось...

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 21:04 
Аватара пользователя
А, тогда ладно. Обычно-то работают в ангстремах, чтобы степени в глазах не мелькали.
И что, к чему сходится (геометрия, энергия, какой брали eps)?

 
 
 
 Re: Метод локальных вариаций
Сообщение11.03.2010, 21:12 
Энергия U_new = -6.6123e-021
Геометрия - равнобедренный треугольник со сторонами 3.8079e-010, 3.8079e-010, 7.0000e-010
Точность брала 10^-40

 
 
 [ Сообщений: 25 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group