Лекция №12+ №13 қосымшалары фкә пәні Оқу тобы: 1502-10, 1510-10 12. Matlab жүйесіндегі анимация



Pdf көрінісі
бет4/4
Дата13.06.2023
өлшемі445,21 Kb.
#101005
түріЛекция
1   2   3   4
Моделдеу нәтижелері 
 
Көрсетілген 
алгоритм 
бойынша 
есептеу 
үшін 
MATLAB-та 
төмендегідей бағдарлама құрылып, ол m-файл етіп сақтап қойылды. Оны кез 
келген кезде MATLAB жұмысшы ортасынан шақыруға болады. Бағдарлама 
планеталардың а, е, t
0
орбита элементтері бойынша олардың траекториясын 
есептейді және оны анимация түрінде бейнелейді.
Күн жүйесінде 9 ірі планета бар екендігі белгілі (Күннен алыстауы 
ретімен): Меркурий, Шолпан, Жер, Марс, Юпитер, Сатурн, Уран, Нептун, 
Плутон. Бұл планеталар екі топқа бөлінеді: ішкі және сыртқы планеталар. 
Орбиталары Жер орбитасының ішінде жатқандары (Меркурий және Шолпан) 
ішкі планеталар, ал орбиталары Жер орбитасының сыртында жатқандары 


(Марстан бастап әрі қарай қалғандары) сыртқы планеталар делінеді. Сол 
себепті моделдеу үшін 1 ішкі планета (Шолпан), 1 сыртқы планета (Марс) 
және Жер қарастырылды. Әрине Шолпан мен Марс орнына кез келген басқа 
планеталарды да алуға болады. Жер және бұл екі планетаның орбита 
элементтері [5]: 
Жер:
a=1 а.б. 
e=0.0167 
T=365.2422 тәулік 
Шолпан: a=0.7233 а.б. 
e=0.0068 
T=224.7 тәулік 
Марс: 
a=1.5237 а.б. 
e=0.0934 
T=686.98 тәулік. 
Олардың траекториясын бір-бірінен ажырату үшін Жер орбитасы көк
Шолпан – қызыл және Марс - қара түстермен сызылған.
Осы бағдарламаны талдап көрелік: 
function planeta 
a1=1 
e1=0.0167 
T1=365.2422 % Жер 
a2=1.5237 
e2=0.0934 
T2=686.98 % Марс 
a3=0.7233 
e3=0.0068 
T3=224.7 % Шолпан 
%--------------------------------------- 
t0=0;
% бастапқы уақыт 
eps=1.D-11; 
nk=5
Nmax=10000; 
dt=0.1; 
% уақыт қадамы 
t=0:dt:nk*T2; 


% ------------------- 
dlt_E1=1; 
M1=2*pi*(t-t0)/T1; 
% орташа аномалия 
E1=M1; 
while dlt_E1>eps 
dlt1=E1-e1*sin(E1)-M1; 
if(abs(dlt1)else
dlt_E1=dlt1/(1-e1*cos(E1)); 
E1=E1-dlt_E1; 
end 
end 
% ------------------- 
dlt_E2=1; 
M2=2*pi*(t-t0)/T2; 
E2=M2; 
while dlt_E2>eps 
dlt2=E2-e2*sin(E2)-M2; 
if(abs(dlt2)else
dlt_E2=dlt2/(1-e2*cos(E2)); 
E2=E2-dlt_E2; 
end 
end 
% -------------------
dlt_E3=1; 
M3=2*pi*(t-t0)/T3; 
E3=M3; 
while dlt_E3>eps 
dlt3=E3-e3*sin(E3)-M3; 
if(abs(dlt3)else
dlt_E3=dlt3/(1-e3*cos(E3)); 
E3=E3-dlt_E3; 
end 
end 
%---------------------------------------
ytg=sqrt(1+e1)*tan(E1/2); 
xtg=sqrt(1-e1); 
v1=2*atan2(ytg,xtg); 
% 3 планета үшін ақиқат аномалия 
if abs(v1)<0 
v1=v1+2*pi; 
end 
ytg=sqrt(1+e2)*tan(E2/2); 
xtg=sqrt(1-e2); 


v2=2*atan2(ytg,xtg); 
if abs(v2)<0 
v2=v2+2*pi; 
end 
ytg=sqrt(1+e3)*tan(E3/2); 
xtg=sqrt(1-e3); 
v3=2*atan2(ytg,xtg); 
if abs(v3)<0 
v3=v3+2*pi; 
end 
%---------------------------------------
r1=a1*(1-e1.*cos(E1)); 
x1=r1.*cos(v1); 
y1=r1.*sin(v1); 
r2=a2*(1-e2.*cos(E2)); 
% радиус-вектор 
x2=r2.*cos(v2); 
y2=r2.*sin(v2); 
r3=a3*(1-e3.*cos(E3)); 
x3=r3.*cos(v3); 
y3=r3.*sin(v3); 
%---------------------------------------
axis square

квадраттық координаттар жүйесін сызу 
plot(x1,y1,'b-') 
hold on 
grid on 
plot(x2,y2,'k-') 
plot(x3,y3,'r-') 
% планета орбиталары 
%---------------------------------------
h=plot(0,0,'.y') 
set(h,'MarkerSize',60);
h1=plot(x1(1),y1(1),'.b'); 
set(h1,'EraseMode','xor','MarkerSize',30);
h2=plot(x2(1),y2(1),'.k'); 
set(h2,'EraseMode','xor','MarkerSize',40);
% Жер белгісі 
h3=plot(x3(1),y3(1),'.r'); 
set(h3,'EraseMode','xor','MarkerSize',20);
%---------------------------------------
axis square
k=0; 
while k<=nk*Nmax 
k=k+1; 
set(h1, 'XData', x1(k), 'Ydata', y1(k)); 
set(h2, 'XData', x2(k), 'Ydata', y2(k)); 
set(h3, 'XData', x3(k), 'Ydata', y3(k)); 
drawnow; 


end 
Сөйтіп плаенталар қозғалысын моделдеу бағдарламасы аяқталды. Оны 
орындау үшін MATLAB жұмысшы ортасынан бағдарлама аты – планета 
командасы беріледі. Оның нәтижесінде анимациялық суретті көруге болады 
(12-сурет). 
Мұнда, сурет ортасындағы үлкен сары дөңгелек Күнді, ал 3 орбита 
ортадан шетке қарай сәйкес түрде Шолпан, Жер және Марс орбиталарын 
бейнелейді.
Анимацияны тоқтату үшін Ctrl-C немесе Ctrl-Break түймелерін басу 
керек. Кез келген уақытта бұл суретті айналтырып, түрлі проекцияларда 
көруге болады. MATLAB-тың бұл мүмкіндіктері өз кезегінде түрлі 
құбылыстардың моделін жан-жақты көруге, оқушыларға демонстрация 
жасауға мүмкіндік береді.
12-сурет. Үш планета анимациясы. 


 
 
 
ӘДЕБИЕТТЕР 
 
1. Мартынов Н.Н., Иванов А.П.. MATLAB 5.х. Вычисления, визуализация
программирование. – М.: Кудриц-Образ, 2000. 
2. Потемкин В.Г. MATLAB 5 для студентов. – М.: Диалог-МИФИ, 1998. 
3. Дьяконов В.П. MATLAB. Учебный курс/ – СПб.: Питер, 2001. 


Достарыңызбен бөлісу:
1   2   3   4




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет