First commit
This commit is contained in:
100
analysis.m
Normal file
100
analysis.m
Normal file
@@ -0,0 +1,100 @@
|
||||
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
|
||||
Reference in New Issue
Block a user