2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 краевая задача для ОДУ
Сообщение02.10.2009, 16:53 


02/10/09
4
решаю краевую задачу для системы нелинейных ОДУ из 6 уравнений.причем три граничных условия заданы на одном конце интервала,а три других на другом.то есть по сути надо применить метод пристрелки для поиска начальных условий для трех переменных,для которых условия заданы на другом конце.но поскольку программист из меня еще тот,то я тупо в цикле перебираю с мелким шагом все три начальных условия,чтобы в конце получилось то,что надо.естественно,программа считает очень долго.и,к сожалению, до истины так и не доходит,и найти те самые начальные значения мне не удается.если у вас есть какие-то мысли по этому вопросу,подскажите как оптимизировать этот процесс.или если у кого есть готовые программы.ну не обязательно для 6 уравнений,для трех например уже неплохо...вобщем,помогите,чем можете...пожалуйста...шеф уже косится...неделю маюсь :D

 Профиль  
                  
 
 Re: краевая задача для ОДУ
Сообщение02.10.2009, 17:09 
Заслуженный участник


11/05/08
32166
Я не знаю, как принято решать это в приличном обществе. Но могу порекомендовать. Напишите процедуру, которая произвольные граничные условия на левом конце пересчитывает в граничные значения на правом. И потом функцию (обращающуюся к этой процедуре), вычисляющую "невязку", т.е. отклонение рассчитанных граничных условий от требуемых (например и лучше всего -- сумму квадратов отклонений по всем координатам).

А потом как-нибудь эту функцию минимизируйте (на решении она должна быть равна нулю); скажем, методом какого-нибудь спуска.

Не знаю, насколько это оптимально, но существенно проще -- точно ничего быть не может.

 Профиль  
                  
 
 Re: краевая задача для ОДУ
Сообщение03.10.2009, 20:34 
Экс-модератор


17/06/06
5004
ewert в сообщении #248478 писал(а):
скажем, методом какого-нибудь спуска.
Нас учили такие вещи методом Ньютона делать. Если повезет - работает быстро (дает хорошую точность за несколько итераций), хотя, конечно, бывают неприятности, иногда надо поиграться с модифицированием. Надеюсь, с обращением матрицы 6x6 справитесь?

 Профиль  
                  
 
 Re: краевая задача для ОДУ
Сообщение04.10.2009, 13:50 
Заслуженный участник


11/05/08
32166
AD в сообщении #248795 писал(а):
Нас учили такие вещи методом Ньютона делать. Если повезет -

Чтобы повезло -- нужен какой-нибудь грубый метод локализации. Вот, например, градиентного спуска.

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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