% вывод в книгу Excel локальных минимумов элонгации Луны от Солнца и % девиаций между соседними периодами и производной clear all cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' ); TFMT='DD.MM.YYYY HR:MN:SC ERA::RND::MCAL::TDT'; TFMTH='HR:MN:SC.## ::RND::UTC' ; abcorr = 'LT+S'; save_path = 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\test\NC\'; et1=cspice_str2et ( '01-01-400 AD' ); et2=cspice_str2et ( '1500-01-01' ); st_win = cspice_wninsd (et1 , et2); % локальные минимумы элонгации Луны от Солнца с Земли target = 'Moon'; refval = 0; adjust = 0; step = cspice_spd * 1; nintvls = 1000000; targ1 = 'MOON'; shape1 = 'POINT'; frame1 = 'NULL'; targ2 = 'SUN'; shape2 = 'POINT'; frame2 = 'NULL'; abcorr = 'NONE'; relate = 'LOCMIN'; obsrvr = 'EARTH'; res = cspice_gfsep( targ1, shape1, frame1, ... targ2, shape2, frame2, ... abcorr, obsrvr, relate, ... refval, adjust, step, ... nintvls, st_win ); % локальные минимумы расстояния Луны от Солнца % target = 'Moon'; obsrvr = 'Sun'; relate = 'LOCMIN' ; refval = 0; adjust = 0; step = cspice_spd * 1; nintvls = 1000000; % res = cspice_gfdist( target, abcorr, obsrvr , relate, refval, adjust, step, nintvls, st_win); res=(reshape(res,2,[])'); % преобразование окон времени в 2 колонки 1) начало события 2) конец события res= res (:,1); % выбор одной колонки, там где колонки равны tmp =zeros(numel(res),3); tmp(:,1)=res; data=cell(numel(res)-1,4); tmp(2,2)= res(2) - res(1); a=0; for ii=3:(numel(res)) tmp(ii,2)= res(ii) - res(ii-1); tmp(ii,3)= tmp(ii,2) - tmp(ii-1,2); data(ii-1,1)= {tmp(ii,1)}; data(ii-1,2)= {tmp(ii,2)}; data(ii-1,3)= {tmp(ii,3)}; a = a + tmp(ii-1,3); data(ii-1,4)= {a} ; end data(1,1)={'ET'}; data(1,2)={'Min to min'}; data(1,3)={'delta sec'}; xlswrite(horzcat(save_path, 'moon_acceleration.xls'), data); fprintf(horzcat('результат выведен в файл ', 'moon_acceleration.xls' )); cspice_kclear clear all