Студопедия — Структура программы.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Структура программы.






Отчет по построению орбиты луны в гелиоцентрической системе отчета при помощи matlab.

Автор: студент гр. Т07-35 Погосбекян Э.Л.

Москва - 2012 г.


 

Цель работы.

Получить навык моделирования процесса движения небесных тел.

Постановка задачи.

Построить графический интерфейс, в котором:

1. Отображаются параметры, влияющие на вид траектории движения Луны, а именно:

· Радиус орбиты Земли

· Радиус орбиты Луны

· Период обращения Земли вокруг Солнца

· Период обращения Луны вокруг земли

2. Есть возможность редактировать эти параметры

3. В соответствии с введенными параметрами строится траектория движения Луны в гелиоцентрической системе координат.

4. В соответствии с введенными параметрами строится график зависимости мгновенных значений разности между модулем скорости Земли и проекцией скорости движения Луны на направление скорости движения Земли.

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

Структура программы.

Программа состоит из ряда функций. Ниже будет приведено их описание.

1. Функция luna.m. В этой функции выполняются все вычисления, необходимые для построения указанных в постановке задачи графиков. У этой функции входные параметры:

· r1 – радиус траектории Земли

· r2 - радиус траектории Луны в системе отсчета, связанной с Землей

· t1 – период обращения Земли вокруг Солнца

· t2 – период обращения Луны вокруг Земли

выходные параметры:

· Xotn, Yotn – Точки, из которых состоит траектория движения Луны в гелиоцентрической системе координат. Xotn – x-вая компонента, Yotn – y-вая компонента.

· V - мгновенное значение разности между модулем скорости Земли и проекцией скорости движения Луны на направление скорости движения Земли

· t11 – вектор значений времени, при которых вычисляются указанные выше выходные параметры. Представляет собой столбец из 2000 точек, полученных путем разбиения интервала от 0 до t1 на равные промежутки.

Текст подпрограммы luna.m:

 

function [Xotn Yotn V t11] = luna(r1,r2,t1,t2)

 

dt = t1/2000; %разбиение интервала времени на равные промежутки

t = 0:dt:t1;

Xz = r1*cos(2*pi*t/t1); %координаты Земли в гелиоцентрической системе координат

Yz = r1*sin(2*pi*t/t1);

Xm = r2*cos(2*pi*t/t2); %координаты Луны в системе отсчета, связанной с Землей

Ym = r2*sin(2*pi*t/t2);

Xotn = Xz+Xm; %координаты Луны в гелиоцентрической системе координат

Yotn = Yz+Ym;

Vx = diff(Xz)/dt; %скорость Земли в гелиоцентрической системе координат

Vy = diff(Yz)/dt;

vx = diff(Xm)/dt; %скорость Луны в системе отсчета, связанной с Землей

vy = diff(Ym)/dt;

V = (Vx.^2 + Vy.^2).^0.5 - (Vx.*vx + Vy.*vy)./((Vx.^2+Vy.^2).^0.5); %абсолютное значение скорости Луны

%в гелиоцентрической системе координат

 

t11 = 0:dt:t1 - dt;

 

2. Функция petli2.m. В этой функции вычисляется предельное значение параметра, при котором появляются петли на траектории движения Луны. Предельные значения, на выбор, вычисляются для:

· радиуса траектории Земли - r1

· радиуса траектории Луны - r2

· периода обращения Земли вокруг Солнца - t1

· периода обращения Луны вокруг Земли – t2

входные параметры:

· r1 – радиус траектории Земли

· r2 - радиус траектории Луны в системе отсчета, связанной с Землей

· t1 – период обращения Земли вокруг Солнца

· t2 – период обращения Луны вокруг Земли

· n – переменная, обозначающая для какого параметра искать предельное значение

· V - мгновенное значение разности между модулем скорости Земли и проекцией скорости движения Луны на направление скорости движения Земли

 

Выходной параметр один – искомое предельное значение, при котром появляются петли.

Текст подпрограммы petli2.m:

 

function X = petli2(r1,r2,t1,t2,n,V)

 

if n == 1

dt = t1/2000;

t = 0:dt:t1;

cosFi = cos(2*pi*t*(t1 - t2)/(t1*t2));

mcos = max(cosFi);

r11 = r2 * (t1/t2) * mcos; %при этом значении или меньшем появляются петли

X = r11;

end;

 

if n == 2

dt = t1/2000;

t = 0:dt:t1;

cosFi = cos(2*pi*t*(t1 - t2)/(t1*t2));

mcos = max(cosFi);

r22 = r1*t2/(t1*mcos); %при этом значении или большем появляются петли

X = r22;

end;

 

if n == 3

dt = t1/2000;

t = 0:dt:t1;

cosFi = cos(2*pi*t*(t1 - t2)/(t1*t2));

mcos = max(cosFi);

t11 = r1*t2/(r2 * mcos); %при этом значении или большем появляются петли

X = t11;

end;

 

if n == 4

dt = t1/2000;

t = 0:dt:t1;

cosFi = cos(2*pi*t*(t1 - t2)/(t1*t2));

mcos = max(cosFi);

t22 = r2*t1*mcos/r1; %при этом значении или меньшем появляются петли

X = t22;

end;

 

Выражения для предельных значений параметров были получены аналитически из уравнений, описывающих траектроию движения Луны.

Указанные выше функции luna.m и petli2.m вызываются из файла Interface.m. Он был создан после того, как интерфейс программы был нарисован и сохранен. Так как в нашей программе действия происходят после нажатия кнопки «start», то запускать наши подпрограммы будем из секции файла, связанного с этим элементом интерфейса.

Секция «pushbutton1_Callback» отвечает за нажатие кнопки «Пуск». В эту секцию добавляем следующий текст:

 

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

 

%получаем значаения параметров из полей ввода

r1 = str2double(get(handles.editR1,'String'));

r1 = r1*(10^8);

r2 = str2double(get(handles.editR2,'String'));

r2 = r2*(10^5);

t1 = str2double(get(handles.editT1,'String'));

t1 = t1*(10^7);

t2 = str2double(get(handles.editT2,'String'));

t2 = t2*(10^6);

 

[Xm Ym V t11] = luna(r1,r2,t1,t2);

 

%определяем положение радиокнопки

v(4) = 0;

v(1) = get(handles.radiobutton1,'Value');

v(2) = get(handles.radiobutton2,'Value');

v(3) = get(handles.radiobutton3,'Value');

v(4) = get(handles.radiobutton4,'Value');

for i = 1:4

if v(i) == 1

n = i;

end;

end;

Res = petli2(r1,r2,t1,t2,n,V; %находим предельное значение

set(handles.resultText,'String',Res); %выводим его в окне

 

%строим графики

axes(handles.axes1);

plot(Xm,Ym);

axes(handles.axes2);

plot(t11,V);

 







Дата добавления: 2015-09-06; просмотров: 1224. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия