function param=analysis(param) %% By L_DelOff % собираю данные по землетрясению %% Поехали type_sensor=param.type_sensor; sattelite_range=param.sattelite_range; year_range=param.year_range; month_range=param.month_range; day_range=param.day_range; DATA.DATA=[]; %% Объединяю данные в диапазоне if 1 for sattelite=sattelite_range %6:20 for year=year_range % года for month=month_range % месяца for day=day_range % дни DATA_temp=load_file(sattelite, year, month, day,... type_sensor); %загрузка данных DATA.DATA=[DATA.DATA DATA_temp.DATA]; end end end end end %load matlab %% Сортировка данных R_quake=param.R_quake; % радиус действия относительно магнитуды,км (еще тыщу ставил) % расположение эпицентра fiA=param.fiA; % широта LA=param.LA; % долгота report=[]; % тут будут все данные для графика global zzz ccc zzz=[]; ccc=[]; for i=day_range% дни, по которыс строится среднесуточные значения report(end+1).date=[myformat(i,2) '.03.2011']; HHeden=[]; O2den=[]; Eden=[]; Etemp=[]; for j=1:length(DATA.DATA) if DATA.DATA(j).year==year_range % сортировка по году if DATA.DATA(j).month==month_range % по месяцу if (DATA.DATA(j).day==i)% по числам for k=1:3 % координаты спутника только 3 раза в минуту(кадр) записываются fiB=DATA.DATA(j).GeoLat(k); % 1. Географическая широта (градусы, север)(Geographic latitude (degrees, north)) LB=DATA.DATA(j).GeoLong(k); % 2. Географическая долгота (градусы, восток)(Geographic longitude (degrees, east)) R=mydistance(fiA,LA,fiB,LB); ccc(1,end+1)=fiB; ccc(2,end)=LB; zzz(end+1)=R-R_quake; if R<=R_quake HHeden(end+1)= mymean(DATA.DATA(j).RPA_HHeden((k-1)*5+1:(k-1)*5+5),1e10); O2den(end+1) = mymean(DATA.DATA(j).RPA_O2den((k-1)*5+1:(k-1)*5+5),1e10); Eden(end+1) = mymean(DATA.DATA(j).EP_Eden((k-1)*5+1:(k-1)*5+5),1e10); Etemp(end+1) = mymean(DATA.DATA(j).EP_Etemp((k-1)*5+1:(k-1)*5+5),1e10); end end end end end end report(end).RPA_HHeden=mymean(HHeden,1e10); report(end).RPA_O2den=mymean(O2den,1e10); report(end).EP_Eden=mymean(Eden,1e10); report(end).EP_Etemp=mymean(Etemp,1e10); end param.report=report; end function DATA=load_file(sattelite, year, month, day, type_sensor) foldername=['DATA/f' num2str(sattelite) '/' type_sensor '/' num2str_new(year,4) '/' num2str_new(month,2)]; target=ls(foldername); [str row]=size(target); DATA=[]; for i=1:str filename=target(i,:);%end-3:end); counter=0; for j=1:length(filename) if filename(j)==' ' counter=counter+1; end end filename=filename(1:end-counter); if length(filename)>7 keyword=[num2str_new(year,4) num2str_new(month,2) num2str_new(day,2)]; flag=0; for j=1:length(filename)-length(keyword) if filename(j:j+length(keyword)-1)==keyword flag=1; end end if (prod(filename(end-3:end)=='.mat')==1)&&(flag==1) DATA = load([foldername,'/',filename], 'DATA'); % открыть для чтения end end end end