2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 Re: Устойчивая конфигурация N частиц
Сообщение22.05.2010, 10:43 
Аватара пользователя
poisonous. Вы записываете потенциальную энергию одной частицы. Надо выписать потенциальную энергию взаимодействия каждой из частиц с каждой.

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение22.05.2010, 11:06 
Аватара пользователя
Это и есть каждой с каждой.

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение26.05.2010, 17:54 
Спасибо! Вот код из матлаба, что здесь может быть не так? Подскажите пожалуйста...

Код:
x0=[10^-10; 10^-10; 10^-10]; %начальное приближение
eps=10^-17; %точность
x1=[0;0;0];  %значение на следующей итерации
lam=0.05*10^-12; %лямбда, коэффициент, который перед градиентом ставится

syms x y z epsi sigma %переменные символьного типа

%подсчет градиента

grad_x=diff('(4*epsi*((sigma/x)^12-(sigma/x)^6)+4*epsi*((sigma/y)^12-(sigma/y)^6)+4*epsi*((sigma/z)^12-(sigma/z)^6))',x);
grad_y=diff('(4*epsi*((sigma/x)^12-(sigma/x)^6)+4*epsi*((sigma/y)^12-(sigma/y)^6)+4*epsi*((sigma/z)^12-(sigma/z)^6))',y);
grad_z=diff('(4*epsi*((sigma/x)^12-(sigma/x)^6)+4*epsi*((sigma/y)^12-(sigma/y)^6)+4*epsi*((sigma/z)^12-(sigma/z)^6))',z);
k=1; %чтобы зашел в цикл

while k>eps
    x_t=subs(subs(subs(subs(subs(grad_x,x,x0(1)),y,x0(2)),z,x0(3)),epsi,1.6539*10^(-21)),sigma,3.405*10^(-10));
    y_t=subs(subs(subs(subs(subs(grad_y,x,x0(1)),y,x0(2)),z,x0(3)),epsi,1.6539*10^(-21)),sigma,3.405*10^(-10));
    z_t=subs(subs(subs(subs(subs(grad_z,x,x0(1)),y,x0(2)),z,x0(3)),epsi,1.6539*10^(-21)),sigma,3.405*10^(-10));
    x1=x0-lam*[x_t; y_t; z_t];
    lam=lam/2;
    k=abs(x1-x0);
    x0=x1;
end

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение26.05.2010, 21:52 
Аватара пользователя
Во-первых, я извиняюсь, что ерунду сказал в предыдущем посту. Я только сейчас сообразил, что Вы в качестве координат берёте расстояния между атомами. Для трёх атомов это катит. А как быть, если атомов будет тысяча? Во-вторых, тот метод, что Вы используете сомнителен. Где Вы прочитали, что на каждом шаге надо $\lambda$ делить пополам? Из каких соображений взяли начальное значение этого множителя? (Может ссылку дадите?). В классическом градиентном методе $\lambda$ постоянно, но правильный выбор этого множителя затруднён, особенно для такой целевой функции как эта с большими степенями. Можно попробовать использовать одномерную оптимизацию на каждом шаге (метод скорейшего спуска). Тоже ерунда, но по крайней мере работать будет.

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение26.05.2010, 22:29 
Что-то вроде метода дихотомии?

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение27.05.2010, 19:57 
Аватара пользователя
Промоделировал на Матлабе Ваш метод. Сходимости добиться не удалось. Удалось добиться сходимости для постоянного $\lambda=0.06$ и то только для начальных точек, близких к минимуму.
poisonous в сообщении #324236 писал(а):
Что-то вроде метода дихотомии?
Скорее вроде метода золотого сечения. poisonous. Вам нужно моделирование исключительно для трёх точек? Эту задачу можно решить чисто аналитически. Если привлечь метод наискорейшего спуска, то он сойдётся за одну итерацию. Однако одномерный поиск надо организовать аккуратно, так как функция не выпукла.

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение10.06.2010, 15:08 
Да, задание состоит в моделировании именно для трех точек. А аккуратно - это как? А как удалось добиться сходимости для $\lambda =0.06$? А как же найти аналитически? Просто через производную?

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение10.06.2010, 19:44 
Аватара пользователя
Цитата:
А как же найти аналитически? Просто через производную?
Да. Но, возможно, от Вас это не требуется.
Цитата:
А как удалось добиться сходимости для $\lambda =0.06$?
Нашёл аналитически минимум и взял в качестве $\lambda$ величину, обратную второй производной в минимуме. (Это я написал не строго, но догадаетесь. Там вторая производная - диагональная матрица с одинаковыми элементами).
Цитата:
А аккуратно - это как?
Не знаю. Пробуйте. Но не факт, что вообще нужно применять тут точный одномерный поиск. Для этой задачи это как-то не интересно. Попробуйте применить градиентный метод, но как-то контролируйте длину шага. А какие рекомендации по выбору метода в Вашем задании?

 
 
 
 Re: Устойчивая конфигурация N частиц
Сообщение10.06.2010, 20:30 
Спасибо!
Рекомендаций особых и не было, было сказано про физичность данного метода, т.к. производная от потенциала по сути сила.

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


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