2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Решение ДУ в MATLAB
Сообщение14.10.2015, 01:09 


20/04/14
5
Есть динамические уравнения Эйлера $\vec{J}\dot{\omega}+\omega\times\vec{J}\omega=\vec{M}$ для тела на орбите, $\vec{M}=\frac{3\mu}{r^3}\frac{\vec{r}\times\vec{J}\bar{r}}{r^2}$. Также из модели SGP4 берутся значения $r$ для разных $t$. Нужно получать решения этой системы в зависимости от $r$. ode45/ode23, как я понял, использовать не получится, так как $M$ для разных $t$ разное, а некой функции $r(t)$ нету, есть только численные значения для $r$. Какие есть способы решения, кроме написания тысяч уравнений для разных $r$?

 Профиль  
                  
 
 Re: Решение ДУ в MATLAB
Сообщение14.10.2015, 08:47 
Заслуженный участник
Аватара пользователя


15/10/08
30/12/24
12599
Ivan410 в сообщении #1062357 писал(а):
некой функции $r(t)$ нету, есть только численные значения для $r$.

Аппроксимируйте.

 Профиль  
                  
 
 Re: Решение ДУ в MATLAB
Сообщение14.10.2015, 21:05 


21/03/10
43
Код:
% значения r для разных t
T = 0:10;
R = 0:10;

% функция для r(t), можно вызывать как r(3), r(11) и т.д.
r = @(t) interp1(T,R,t,'linear','extrap');

% вызов решателя
[T Y] = ode45(@(t,y) myode(t,y,r),Tspan,IC);

посмотрите ещё этот пример

 Профиль  
                  
 
 Re: Решение ДУ в MATLAB
Сообщение14.10.2015, 21:57 


20/04/14
5
Благодарю за ответы,теперь должно получиться

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

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



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

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


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

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