2014 dxdy logo

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

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
01/01/18 20:50 UTC: Перешли на HTTPS в тестовом режиме. О проблемах пишите в ЛС cepesh.



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


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Про закон всемирного тяготения
Сообщение07.12.2017, 11:59 
Заслуженный участник


23/07/08
7546
Харьков
У Вас в числителе везде $m_2$.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение07.12.2017, 14:21 
Заслуженный участник
Аватара пользователя


27/04/09
21619
Уфа

(Перегрузка операций)

Charlz_Klug в сообщении #1272794 писал(а):
Планирую на C++ писать. Там, вроде, нет поддержки математических векторов.
StaticZero в сообщении #1272795 писал(а):
Насколько мне известно, там можно создать свои классы с блэкдже полями данных и перегруженными операторами.
Кстати, когда-то давно я писал такое на Delphi 7 (притом тоже двумерное и тоже Эйлером без всяких аккуратностей и вообще знаний о численных методах), где не было никакой перегрузки операций и даже методов у структур, но функции-таки для векторных операций написал и ими пользовался. Немного странно отказываться от модульности, если не хватает не совсем уж существенных деталей. :roll:

(На самом деле там были классы с методами — это да — в том числе древние в наследство от паскаля передаваемые по значению как и структуры, но тогда я плохо разбирался. А когда в новых версиях появилась перегрузка операций и методы структур, уже ушёл.)

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение07.12.2017, 18:25 


01/09/14
251
svv в сообщении #1272826 писал(а):
У Вас в числителе везде $m_2$.
Спасибо, скопипастил неаккуратно.
$$\left\{
\begin{array}{rcl}
\ddot x_1(t) &=& \dfrac {G m_2 (x_2 (t) - x_1 (t))} {(\sqrt {(x_2 (t) - x_1 (t))^2 + (y_2 (t) - y_1 (t))^2})^3} \\
\ddot x_2(t) &=& \dfrac {G m_1 (x_1 (t) - x_2 (t))} {(\sqrt {(x_2 (t) - x_1 (t))^2 + (y_2 (t) - y_1 (t))^2})^3} \\
\ddot y_1(t) &=& \dfrac {G m_2 (y_2 (t) - y_1 (t))} {(\sqrt {(x_2 (t) - x_1 (t))^2 + (y_2 (t) - y_1 (t))^2})^3} \\
\ddot y_2(t) &=& \dfrac {G m_1 (y_1 (t) - y_2 (t))} {(\sqrt {(x_2 (t) - x_1 (t))^2 + (y_2 (t) - y_1 (t))^2})^3} \\
\end{array}
\right.$$

-- 07.12.2017, 19:27 --

arseniiv, StaticZero, уговорили. Сделаю класс.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение07.12.2017, 21:03 
Заслуженный участник
Аватара пользователя


01/09/13
1525
Charlz_Klug в сообщении #1272901 писал(а):
Сделаю класс.

Зачем?
Вам с векторами играться или интегрировать систему? ;-)

-- 07.12.2017, 21:04 --

И кстати, большинство методов заточено под уравнения первого порядка...

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение07.12.2017, 21:14 
Заслуженный участник
Аватара пользователя


27/04/09
21619
Уфа

(Оффтоп)

Geen в сообщении #1272960 писал(а):
Зачем?
Чтобы ошибки было легче находить, например, ну и для чего там вообще модульность нужна. Конечно, есть вероятность, что ТС напишет класс не так, как стоит, но это уже другая история.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение07.12.2017, 22:30 
Заслуженный участник
Аватара пользователя


23/07/05
15156
Новомосковск
Насколько я знаю, в C++ есть стандартные пакеты для комплексных чисел и для векторов.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение07.12.2017, 23:25 
Заслуженный участник
Аватара пользователя


27/04/09
21619
Уфа
Если имеется в виду std::vector, это просто вид списка, и специальные математические операции для них не определены.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение10.12.2017, 16:30 


01/09/14
251
Geen в сообщении #1272960 писал(а):
Вам с векторами играться или интегрировать систему? ;-)
Джеральд Джей Сассман и Хал Абельсон всё же рекомендуют делать абстракции.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение10.12.2017, 18:30 


22/11/13
139
Charlz_Klug, у меня к вам несколько вопросов.

1. Какую систему координат вы выберете неподвижной?
Если одно из тел, то какие вы выбираете начальные условия для этого тела
2. Какой численный метод вы хотите использовать? Ругне-Кутта?
3. Какой контроль решения на каждом шаге итераций вы планируете использовать?

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение10.12.2017, 21:12 


01/09/14
251
ludwig51 в сообщении #1273695 писал(а):
1. Какую систему координат вы выберете неподвижной?
Центр канвы на которой буду рисовать.
ludwig51 в сообщении #1273695 писал(а):
2. Какой численный метод вы хотите использовать? Ругне-Кутта?
Да, Рунге-Кутта.
ludwig51 в сообщении #1273695 писал(а):
3. Какой контроль решения на каждом шаге итераций вы планируете использовать?
Пока что я даже не знаю что значит "контроль решения".

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение11.12.2017, 16:31 


22/11/13
139
Charlz_Klug в сообщении #1273768 писал(а):
Центр канвы на которой буду рисовать.

Не понял.
Систему координат в вашей задаче двух тел можно выбрать относительно центра масс тел, или относительно центра тяжести одного из тел. Если тел больше двух, то разумнее решать задачу в системе центра масс этих тел.

Charlz_Klug в сообщении #1273768 писал(а):
Пока что я даже не знаю что значит "контроль решения".

Если вы выбираете слишком большой шаг итерации, то будет накапливаться ошибка вычислений.
Поэтому необходим контроль за ходим решения.
По законам сохранения:
полной энергии и момента импульса.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение11.12.2017, 18:18 


01/09/14
251
ludwig51 в сообщении #1274039 писал(а):
Charlz_Klug в сообщении #1273768 писал(а):
Центр канвы на которой буду рисовать.

Не понял.
Мой план: есть прямоугольная область на которой будут отрисовываться тела (точки). У этой области есть ширина и высота. За начало координат возьму точку с координатами $(\frac {\text{ширина}} {2}, \frac {\text{высота}} {2})$.
ludwig51 в сообщении #1274039 писал(а):
Систему координат в вашей задаче двух тел можно выбрать относительно центра масс тел, или относительно центра тяжести одного из тел. Если тел больше двух, то разумнее решать задачу в системе центра масс этих тел.
Зачем привязываться именно к центру масс?
ludwig51 в сообщении #1274039 писал(а):
Если вы выбираете слишком большой шаг итерации, то будет накапливаться ошибка вычислений.
Поэтому необходим контроль за ходим решения.
По законам сохранения:
полной энергии и момента импульса.
Да, наверно, было бы хорошо.

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение11.12.2017, 20:00 
Заслуженный участник
Аватара пользователя


27/04/09
21619
Уфа
Есть способы, где контроль может понадобиться только из-за ошибок конечной точности вычислений, а энергия и момент импульса никуда убегать не будут, см. в общем, [1], [2].

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение11.12.2017, 21:37 
Заслуженный участник
Аватара пользователя


01/09/13
1525
arseniiv в сообщении #1274086 писал(а):
а энергия и момент импульса никуда убегать не будут

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

 Профиль  
                  
 
 Re: Про закон всемирного тяготения
Сообщение11.12.2017, 21:51 
Заслуженный участник
Аватара пользователя


27/04/09
21619
Уфа
Да, другой, там где-то я это тоже читал. :-)

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

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



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

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


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

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