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

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

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






Отчет по построению орбиты луны в гелиоцентрической системе отчета при помощи 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; просмотров: 1211. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

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