1499 lines
75 KiB
Matlab
Executable File
1499 lines
75 KiB
Matlab
Executable File
function [Site,FIG] = report_CrossGraphs_ENG(rTL,rIPL,rTuL,rRaL,rPCL,rPL,rRL,rKL,rCrL,rMPBEL,...
|
|
GI_Disp_TL,GI_Date_TL,GI_Prof_TL,GI_Disp_IPL,GI_Date_IPL,GI_Prof_IPL,...
|
|
GI_Level_PL,GI_Prof_PL,GI_Date_PL,GI_Rain_RL,GI_Date_RL,GI_Angolo_KL,...
|
|
GI_Num_KL,GI_Date_KL,GI_Disp_CrL,GI_Num_CrL,GI_Date_CrL,GI_Q1_TuL,...
|
|
GI_Q2_TuL,GI_Q3_TuL,GI_Q4_TuL,GI_Q1_Num_TuL,GI_Q2_Num_TuL,GI_Q3_Num_TuL,...
|
|
GI_Q4_Num_TuL,GI_Z_TuL,GI_Seg_TuL,GI_NumSeg_TuL,GI_Date_TuL,GI_Z_PCL,GI_Date_PCL,...
|
|
GI_XYZ_Rad,GI_Num_Rad,GI_dS_RL_MPB,GI_dS_RL_TuL,GI_dS_TuL_RL,GI_Date_Rad,...
|
|
GI_Date_MPB,GI_dS_MPB,GI_MPB_Base,GI_dS_MPB_RL,siteID,toolrif,chainID,Font_Chapter,...
|
|
Font_caption,Font_tools,m,rAR,br,FIG,DT,FileName)
|
|
|
|
import mlreportgen.dom.*
|
|
import mlreportgen.report.*
|
|
|
|
% Make sure DOM is compilable
|
|
makeDOMCompilable()
|
|
|
|
%% --- TILT LINK + PIEZO LINK ---
|
|
% Tilt Link V + Piezo Link : Spostamento massimo locale vs Falda
|
|
if rTL(m,1) > 0 && rPL(m,1) > 0 && exist( 'GI_Disp_TL','var')
|
|
if isempty(GI_Level_PL(:,m)) == 0 && GI_Date_PL(1,m) ~= 0 && isempty(GI_Disp_TL(:,m)) == 0 && GI_Date_TL(1,m) ~= 0
|
|
ind_PL = find(GI_Date_PL(:,m));
|
|
ind_TL = find(GI_Date_TL(:,m));
|
|
sezGrafTLvsPL = Paragraph('Correlation between sensors - Tilt Link vs Piezo Link');
|
|
sezGrafTLvsPL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
GI_VarFaldaPL = GI_Level_PL(:,m)-GI_Level_PL(1,m);
|
|
figure(21)
|
|
yyaxis left
|
|
GI_TiltLink = plot(GI_Date_TL(1:ind_TL(end),m),GI_Disp_TL(1:ind_TL(end),m),'Color','red');
|
|
set(gca,'YColor','k')
|
|
if max(GI_Disp_TL(:,m)) < 10
|
|
ylim([-inf 10]);
|
|
end
|
|
ylabel('Displacement [mm]');
|
|
yyaxis right
|
|
GI_PiezoLink = plot(GI_Date_PL(1:ind_PL(end),m),GI_VarFaldaPL(1:ind_PL(end)),':','Color','blue');
|
|
var = max(abs(GI_VarFaldaPL(1:ind_PL(end))));
|
|
media = mean(GI_VarFaldaPL(1:ind_PL(end)));
|
|
if var < 1
|
|
ylim([media-0.5 media+0.5]);
|
|
end
|
|
ylabel('Water level variation [m]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between displacements and water level variation');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
yyaxis left
|
|
lgdTL = (['Displacement (' num2str(GI_Prof_TL(1,m)) ' m)']);
|
|
lgdPL = ('Water level variation [m]');
|
|
str(1,1) = {['Displacement (' num2str(GI_Prof_TL(1,m)) ' m)']};
|
|
str(2,1) = {'Water level variation'};
|
|
lgd = legend(lgdTL,lgdPL, 'Location','north');
|
|
numcolumns = 2;
|
|
[legend_h,object_h,plot_h,text_strings] = columnlegend(numcolumns,str);
|
|
clear str
|
|
|
|
testoTLvsPL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between the water level variation and displacements recorded by Tilt Link sensors. ' ...
|
|
'In particular, with respect to the reference time period, sensors considered for this analysis '...
|
|
'include the Tilt Link that recorded the highest local differential displacement '...
|
|
'and the piezometer that measured the largest water level variation (if the Array '...
|
|
'equips a single piezometer, water level data will refer to the only sensor available).']);
|
|
testoTLvsPL2 = Paragraph(['In this case, displacements included in the chart refers to the Tilt Link '...
|
|
'located at ' num2str(-(GI_Prof_TL(1,m))) ' m of depth, '...
|
|
'while the water level variation over time derives from the piezometer '...
|
|
'installed at ' num2str((GI_Prof_PL(1,m))) ' metres below ground level.']);
|
|
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-TLvsPL_ENG.png'));
|
|
saveas(GI_PiezoLink,TempName);
|
|
ChartTLvsPL = Image(TempName);
|
|
ChartTLvsPL.Style = {ScaleToFit};
|
|
ChartTLvsPL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison between water level variation and '...
|
|
'maximum local differential displacement during the reference time period']);
|
|
FIG = FIG+1;
|
|
ChartTLvsPL_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
testoTLvsPL.HAlign = 'justify';
|
|
testoTLvsPL2.HAlign = 'justify';
|
|
add(DT,sezGrafTLvsPL);
|
|
add(DT,testoTLvsPL);
|
|
add(DT,testoTLvsPL2);
|
|
add(DT,ChartTLvsPL);
|
|
add(DT,ChartTLvsPL_cap);
|
|
add(DT,br);
|
|
close(figure(21));
|
|
% pulisco variabili da riutilizzare per catena successiva
|
|
clear GI_VarFaldaPL;
|
|
end
|
|
end
|
|
|
|
%% --- IN PLACE LINK + PIEZO LINK ---
|
|
% In Place Link + Piezo Link : Spostamento massimo locale vs Falda
|
|
if rIPL(m,1) > 0 && rPL(m,1) > 0 && exist( 'GI_Disp_IPL','var')
|
|
if isempty(GI_Level_PL(:,m)) == 0 && GI_Date_PL(1,m) ~= 0 && ...
|
|
isempty(GI_Disp_IPL(:,m)) == 0 && GI_Date_IPL(1,m) ~= 0
|
|
ind_PL = find(GI_Date_PL(:,m));
|
|
ind_IPL = find(GI_Date_IPL(:,m));
|
|
sezGrafIPLvsPL = Paragraph('Correlation between sensors - In Place Link vs Piezo Link');
|
|
sezGrafIPLvsPL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
GI_VarFaldaPL = GI_Level_PL(:,m)-GI_Level_PL(1,m);
|
|
figure(21)
|
|
yyaxis left
|
|
GI_InPlaceLink = plot(GI_Date_IPL(1:ind_IPL(end),m),GI_Disp_IPL(1:ind_IPL(end),m),'Color','red');
|
|
set(gca,'YColor','k')
|
|
if max(GI_Disp_IPL(:,m)) < 10
|
|
ylim([-inf 10]);
|
|
end
|
|
ylabel('Displacement [mm]');
|
|
yyaxis right
|
|
GI_PiezoLink = plot(GI_Date_PL(1:ind_PL(end),m),GI_VarFaldaPL(1:ind_PL(end)),':','Color','blue');
|
|
var = max(abs(GI_VarFaldaPL(1:ind_PL(end))));
|
|
media = mean(GI_VarFaldaPL(1:ind_PL(end)));
|
|
if var < 1
|
|
ylim([media-0.5 media+0.5]);
|
|
end
|
|
ylabel('Water level variation [m]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between displacements and water level variation');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
lgdIPL = (['Displacements (' num2str(GI_Prof_IPL(1,m)) ' m)']);
|
|
lgdPL = ('Water level variation');
|
|
str(1,1) = {['Displacements (' num2str(GI_Prof_IPL(1,m)) ' m)']};
|
|
str(2,1) = {'Water level variation'};
|
|
lgd = legend(lgdIPL,lgdPL, 'Location','north');
|
|
numcolumns = 2;
|
|
[legend_h,object_h,plot_h,text_strings] = columnlegend(numcolumns,str);
|
|
clear str
|
|
|
|
testoIPLvsPL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between the water level variation and displacements recorded by Tilt Link sensors. ' ...
|
|
'In particular, with respect to the reference time period, sensors considered for this analysis '...
|
|
'include the Tilt Link that recorded the highest local differential displacement along the '...
|
|
'maximum slope direction, and the piezometer that measured the largest water level variation (if the Array '...
|
|
'equips a single piezometer, water level data will refer to the only sensor available).']);
|
|
testoIPLvsPL2 = Paragraph(['In this case, displacements included in the chart refers to the Tilt Link '...
|
|
'located at ' num2str(-(GI_Prof_TL(1,m))) ' m of depth, '...
|
|
'while the water level variation over time derives from the piezometer '...
|
|
'installed at ' num2str((GI_Prof_PL(1,m))) ' metres below ground level.']);
|
|
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-IPLvsPL_ENG.png'));
|
|
saveas(GI_PiezoLink,TempName);
|
|
ChartIPLvsPL = Image(TempName);
|
|
ChartIPLvsPL.Style = {ScaleToFit};
|
|
ChartIPLvsPL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison between water level variation and '...
|
|
'maximum local differential displacement, along the maximum slope direction, during the reference time period']);
|
|
FIG = FIG+1;
|
|
ChartIPLvsPL_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
testoIPLvsPL.HAlign = 'justify';
|
|
testoIPLvsPL2.HAlign = 'justify';
|
|
add(DT,sezGrafIPLvsPL);
|
|
add(DT,testoIPLvsPL);
|
|
add(DT,testoIPLvsPL2);
|
|
add(DT,ChartIPLvsPL);
|
|
add(DT,ChartIPLvsPL_cap);
|
|
add(DT,br);
|
|
close(figure(21));
|
|
% pulisco variabili da riutilizzare per catena successiva
|
|
clear GI_VarFaldaPL;
|
|
end
|
|
end
|
|
|
|
Site = Chapter;
|
|
%% Grafici riassuntivi del SITO
|
|
if m == rAR && rAR > 1
|
|
titleCha = 0;
|
|
% --- Piogge vs falda ---
|
|
if sum(rRL) > 0 && sum(rPL) > 0 && exist('GI_Rain_RL','var') && exist('GI_Level_PL','var')
|
|
if isempty(GI_Level_PL) == 0 && isempty(GI_Rain_RL) == 0
|
|
if titleCha == 0
|
|
sezSITE = Heading1('Correlations between different sensors');
|
|
sezSITE.Style = {OuterMargin('0in','0in','0in','0in'),FontSize(Font_Chapter),HAlign('justify')};
|
|
Site.Title = sezSITE;
|
|
spazio = Paragraph('');
|
|
add(Site,spazio);
|
|
titleCha = 1;
|
|
end
|
|
sezGrafRLvsPL = Heading2('Correlation between sensors - Rain Link vs Piezo Link');
|
|
sezGrafRLvsPL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
GI_VarFaldaPL = GI_Level_PL-GI_Level_PL(1,:);
|
|
testoRLvsPL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between the piezometer that measured the largest water level variation for each Array present on-site, '...
|
|
'and local rainfall data recorded by the rain gauge.']);
|
|
add(Site,sezGrafRLvsPL);
|
|
add(Site,testoRLvsPL);
|
|
testoRLvsPL.HAlign = 'justify';
|
|
figure(22)
|
|
GI_RainLink = bar(GI_Date_RL,GI_Rain_RL,75,'k');
|
|
yyaxis left
|
|
ylabel('Rainfall [mm]');
|
|
set(gca,'YColor','k')
|
|
yyaxis right
|
|
ylabel('Water level variation [m]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between rainfall and water level variation');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
strRL(1,1) = cellstr('Rainfall');
|
|
legend(strRL,'Location','northwest');
|
|
[~,colPL] = size(GI_Level_PL);
|
|
num = 2;
|
|
index = [];
|
|
hold on
|
|
grid on
|
|
cmap = lines(colPL);
|
|
for p = 1:colPL
|
|
if GI_Date_PL(1,p) ~= 0
|
|
ind_PL = find(GI_Date_PL(:,p));
|
|
index = [index; p];
|
|
GI_RainLink = plot(GI_Date_PL(1:ind_PL(end),p),GI_VarFaldaPL(1:ind_PL(end),p),'-','Color',cmap(p,:));
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(p,4)) ' -' num2str(GI_Prof_PL(1,p)) 'm']);
|
|
str(1,1) = cellstr('Rainfall');
|
|
legend(str,'Location','northwest');
|
|
num = num+1;
|
|
end
|
|
end
|
|
leg = legend(str,'Location','best');
|
|
clear str
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-RLvsPL_ENG.png'));
|
|
saveas(GI_RainLink,TempName);
|
|
ChartRLvsPL = Image(TempName);
|
|
ChartRLvsPL.Style = {ScaleToFit};
|
|
ChartRLvsPL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison between rainfall data and water level '...
|
|
'variations during the reference time period']);
|
|
FIG = FIG+1;
|
|
ChartRLvsPL_cap.Style = {HAlign('center'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
text = ('In this case, the water level variation refers to data recorded by sensors reported below:');
|
|
testoRLvsPL2 = Paragraph(text);
|
|
testoRLvsPL2.HAlign = 'justify';
|
|
add(Site,testoRLvsPL2);
|
|
I = size(index);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(index(a),4)),' - Piezometer at ',num2str(GI_Prof_PL(1,index(a))),' m b.g.l.'];
|
|
testoRLvsPL2 = Paragraph(text);
|
|
add(Site,testoRLvsPL2);
|
|
end
|
|
add(Site,ChartRLvsPL);
|
|
add(Site,ChartRLvsPL_cap);
|
|
add(Site,br);
|
|
close(figure(22));
|
|
end
|
|
end
|
|
|
|
escludiTL = 0;
|
|
escludiIPL = 0;
|
|
% --- Piogge vs Max Spostamento Tilt Link ---
|
|
if sum(rRL) > 0 && sum(rTL) > 0 && exist('GI_Rain_RL','var') && exist('GI_Disp_TL','var')
|
|
if isempty(GI_Disp_TL) == 0 && isempty(GI_Rain_RL) == 0
|
|
if titleCha == 0
|
|
sezSITE = Heading1('Correlation between different sensors');
|
|
sezSITE.Style = {OuterMargin('0in','0in','0in','0in'),FontSize(Font_Chapter),HAlign('justify')};
|
|
Site.Title = sezSITE;
|
|
spazio = Paragraph('');
|
|
add(Site,spazio);
|
|
titleCha = 1;
|
|
end
|
|
sezGrafRLvsTL = Heading2('Correlation between sensors - Rain Link vs Tilt Link V');
|
|
sezGrafRLvsTL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoRLvsTL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array installed on-site, '...
|
|
'and local rainfall data measured by the rain gauge']);
|
|
add(Site,sezGrafRLvsTL);
|
|
add(Site,testoRLvsTL);
|
|
testoRLvsTL.HAlign = 'justify';
|
|
figure(23)
|
|
GI_RainLink = bar(GI_Date_RL,GI_Rain_RL,75,'k');
|
|
yyaxis left
|
|
ylabel('Rainfall [mm]');
|
|
set(gca,'YColor','k')
|
|
yyaxis right
|
|
ylabel('Displacement [mm]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between rainfall and displacements');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
strRL(1,1) = cellstr('Rainfall');
|
|
legend(strRL,'Location','northwest');
|
|
[~,colTL] = size(GI_Disp_TL);
|
|
num = 2;
|
|
hold on
|
|
grid on
|
|
index = [];
|
|
cmap = lines(colTL);
|
|
for t = 1:colTL
|
|
if GI_Date_TL(1,t) ~= 0
|
|
ind_TL = find(GI_Date_TL(:,t));
|
|
index = [index; t];
|
|
GI_RainLink = plot(GI_Date_TL(1:ind_TL(end),t),GI_Disp_TL(1:ind_TL(end),t),'-','Color',cmap(t,:));
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,1) = cellstr('Rainfall');
|
|
str(1,num) = cellstr([char(chainID(t,4)) ' ' num2str(GI_Prof_TL(1,t)) 'm']);
|
|
legend(str,'Location','northwest');
|
|
num = num+1;
|
|
end
|
|
end
|
|
clear str
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-RLvsTL_ENG.png'));
|
|
saveas(GI_RainLink,TempName);
|
|
ChartRLvsTL = Image(TempName);
|
|
ChartRLvsTL.Style = {ScaleToFit};
|
|
ChartRLvsTL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between rainfall and displacement data during the reference time period']);
|
|
FIG = FIG+1;
|
|
ChartRLvsTL_cap.Style = {HAlign('center'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
text = 'Displacement data refer to data recorded by sensors listed below: ';
|
|
testoRLvsTL2 = Paragraph(text);
|
|
testoRLvsTL2.HAlign = 'justify';
|
|
add(Site,testoRLvsTL2);
|
|
I = size(index);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(index(a),4)),' - MEMS at ',num2str(abs(GI_Prof_TL(1,index(a)))),' m b.g.l.'];
|
|
testoRLvsTL2 = Paragraph(text);
|
|
add(Site,testoRLvsTL2);
|
|
end
|
|
add(Site,ChartRLvsTL);
|
|
add(Site,ChartRLvsTL_cap);
|
|
add(Site,br);
|
|
escludiTL = 1;
|
|
close(figure(23));
|
|
end
|
|
end
|
|
% --- Piogge vs Max Spostamento In Place Link ---
|
|
if sum(rRL) > 0 && sum(rIPL) > 0 && exist('GI_Rain_RL','var') && exist('GI_Disp_IPL','var')
|
|
if isempty(GI_Disp_IPL) == 0 && isempty(GI_Rain_RL) == 0
|
|
if titleCha == 0
|
|
sezSITE = Heading1('Correlation between different sensors');
|
|
sezSITE.Style = {OuterMargin('0in','0in','0in','0in'),FontSize(Font_Chapter),HAlign('justify')};
|
|
Site.Title = sezSITE;
|
|
spazio = Paragraph('');
|
|
add(Site,spazio);
|
|
titleCha = 1;
|
|
end
|
|
sezGrafRLvsIPL = Heading2('Correlation between sensors - Rain Link vs In Place Link');
|
|
sezGrafRLvsIPL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoRLvsIPL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array installed on-site '...
|
|
'and local rainfall data measured by the rain gauge']);
|
|
add(Site,sezGrafRLvsIPL);
|
|
add(Site,testoRLvsIPL);
|
|
testoRLvsIPL.HAlign = 'justify';
|
|
figure(23)
|
|
GI_RainLink = bar(GI_Date_RL,GI_Rain_RL,75,'k');
|
|
yyaxis left
|
|
ylabel('Rainfall [mm]');
|
|
set(gca,'YColor','k')
|
|
yyaxis right
|
|
ylabel('Displacement [mm]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between rainfall and displacements');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
strRL(1,1) = cellstr('Rainfall');
|
|
legend(strRL,'Location','northwest');
|
|
[~,colIPL] = size(GI_Disp_IPL);
|
|
num = 2;
|
|
hold on
|
|
grid on
|
|
index = [];
|
|
cmap = lines(colIPL);
|
|
for t = 1:colIPL
|
|
if GI_Date_IPL(1,t) ~= 0
|
|
ind_IPL = find(GI_Date_IPL(:,t));
|
|
index = [index; t];
|
|
GI_RainLink = plot(GI_Date_IPL(1:ind_IPL(end),t),GI_Disp_IPL(1:ind_IPL(end),t),'-','Color',cmap(t,:));
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(t,4)) ' ' num2str(GI_Prof_IPL(1,t)) 'm']);
|
|
num = num+1;
|
|
end
|
|
end
|
|
leg = legend(str,'Location','northwest');
|
|
clear str
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-RLvsIPL_ENG.png'));
|
|
saveas(GI_RainLink,TempName);
|
|
ChartRLvsIPL = Image(TempName);
|
|
ChartRLvsIPL.Style = {ScaleToFit};
|
|
ChartRLvsIPL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between rainfall and displacement data during the reference time period']);
|
|
FIG = FIG+1;
|
|
ChartRLvsIPL_cap.Style = {HAlign('center'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
text = 'Displacement data refer to data recorded by sensors listed below: ';
|
|
testoRLvsIPL2 = Paragraph(text);
|
|
testoRLvsIPL2.HAlign = 'justify';
|
|
add(Site,testoRLvsIPL2);
|
|
I = size(index);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(index(a),4)),' - MEMS at ',num2str(abs(GI_Prof_IPL(1,index(a)))),' m b.g.l.'];
|
|
testoRLvsIPL2 = Paragraph(text);
|
|
add(Site,testoRLvsIPL2);
|
|
end
|
|
add(Site,ChartRLvsIPL);
|
|
add(Site,ChartRLvsIPL_cap);
|
|
add(Site,br);
|
|
escludiIPL = 1;
|
|
close(figure(23));
|
|
end
|
|
end
|
|
% --- Spostamenti Tilt Link o In Place Link - clinometri - fessurimetri ---
|
|
if sum(rTL) > 0 && exist('GI_Disp_TL','var') && sum(rKL) > 0 && exist('GI_Angolo_KL','var') || ...
|
|
sum(rIPL) > 0 && exist('GI_Disp_IPL','var') && sum(rKL) > 0 && exist('GI_Angolo_KL','var') || ...
|
|
sum(rTL) > 0 && exist('GI_Disp_TL','var') && sum(rCrL) > 0 && exist('GI_Disp_CrL','var') || ...
|
|
sum(rIPL) > 0 && exist('GI_Disp_IPL','var') && sum(rCrL) > 0 && exist('GI_Disp_CrL','var') || ...
|
|
sum(rCrL) > 0 && exist('GI_Disp_CrL','var') && sum(rKL) > 0 && exist('GI_Angolo_KL','var')
|
|
if isempty(GI_Disp_TL) == 0 && isempty(GI_Angolo_KL) == 0 || ...
|
|
isempty(GI_Disp_IPL) == 0 && isempty(GI_Angolo_KL) == 0 || ...
|
|
isempty(GI_Disp_TL) == 0 && isempty(GI_Disp_CrL) == 0 || ...
|
|
isempty(GI_Disp_IPL) == 0 && isempty(GI_Disp_CrL) == 0 || ...
|
|
isempty(GI_Disp_CrL) == 0 && isempty(GI_Angolo_KL) == 0
|
|
figure(25)
|
|
hold on
|
|
grid on
|
|
if sum(rTL) > 0 && sum(rKL) > 0 && sum(rCrL) > 0 % Ci sono Tilt + Klino + Crack
|
|
sezGrafTLvsKL = Heading2('Correlation between sensors: Tilt Link V, Klino Link, Crack Link');
|
|
testoTLvsKL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array, the maximum tilt value '...
|
|
'measured by Klino Links and the maximum crack opening recorded by crack meters installed on-site.']);
|
|
title('Maximum values recorded by Tilt, Klino and Crack Link sensors');
|
|
ChartTLvsKL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between maximum values of local differential displacement, tilt, and opening recorded during '...
|
|
'the reference time period respectively by Tilt Links, Klino Links, and Crack Links']);
|
|
elseif sum(rIPL) > 0 && sum(rKL) > 0 && sum(rCrL) > 0 % Ci sono In Place + Klino + Crack
|
|
sezGrafTLvsKL = Heading2('Correlation between sensors: In Place Link, Klino Link, Crack Link');
|
|
testoTLvsKL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array, the maximum tilt value '...
|
|
'measured by Klino Links and the maximum crack opening recorded by crack meters installed on-site.']);
|
|
title('Maximum values recorded by In Place, Klino and Crack Link sensors');
|
|
ChartTLvsKL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between maximum values of local differential displacements, tilt, and opening recorded during '...
|
|
'the reference time period respectively by Tilt Links, Klino Links, and Crack Links']);
|
|
elseif sum(rTL) > 0 && sum(rKL) > 0 % Tilt + Klino
|
|
sezGrafTLvsKL = Heading2('Correlation between sensors: Tilt Link V and Klino Link');
|
|
testoTLvsKL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array, and the maximum tilt value '...
|
|
'measured by Klino Links installed on-site.']);
|
|
title('Maximum values recorded by Tilt and Klino Link sensors');
|
|
ChartTLvsKL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between maximum values of local differential displacements and tilt recorded during '...
|
|
'the reference time period respectively by Tilt Links and Klino Links']);
|
|
elseif sum(rIPL) > 0 && sum(rKL) > 0 % In Place + Klino
|
|
sezGrafTLvsKL = Heading2('Correlation between sensors: In Place Link and Klino Link');
|
|
testoTLvsKL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array, and the maximum tilt value '...
|
|
'measured by Klino Links installed on-site.']);
|
|
title('Maximum values recorded by In Place and Klino Link sensors');
|
|
ChartTLvsKL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between maximum values of local differential displacements and tilt recorded during '...
|
|
'the reference time period respectively by In Place Links and Klino Links']);
|
|
elseif sum(rTL) > 0 && sum(rCrL) > 0 % Tilt e Crack
|
|
sezGrafTLvsKL = Heading2('Correlation between sensors: Tilt Link V and Crack Link');
|
|
testoTLvsKL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array, '...
|
|
'and the maximum crack opening recorded by crack meters installed on-site.']);
|
|
title('Maximum values recorded by Tilt and Crack Link sensors');
|
|
ChartTLvsKL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between maximum values of local differential displacements and opening recorded during '...
|
|
'the reference time period respectively by Tilt Links and Crack Links']);
|
|
elseif sum(rIPL) > 0 && sum(rCrL) > 0 % In Place e Crack
|
|
sezGrafTLvsKL = Heading2('Correlation between sensors: In Place Link and Crack Link');
|
|
testoTLvsKL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D MEMS that recorded the maximum local differential displacement for each Array, '...
|
|
'and the maximum crack opening recorded by crack meters installed on-site.']);
|
|
title('Maximum values recorded by In Place and Crack Link sensors');
|
|
ChartTLvsKL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between maximum values of local differential displacements and opening recorded during '...
|
|
'the reference time period respectively by In Place Links and Crack Links']);
|
|
elseif sum(rKL) > 0 && sum(rCrL) > 0
|
|
sezGrafTLvsKL = Heading2('Correlation between sensors: Klino Link and Crack Link');
|
|
testoTLvsKL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between the maximum tilt value '...
|
|
'measured by Klino Links, and the maximum crack opening recorded by crack meters installed on-site.']);
|
|
title('Maximum values recorded by Klino and Crack Link sensors');
|
|
ChartTLvsKL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between maximum values of tilt and opening recorded during '...
|
|
'the reference time period respectively by Klino Links and Crack Links']);
|
|
end
|
|
sezGrafTLvsKL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoTLvsKL.HAlign = 'justify';
|
|
|
|
yyaxis left
|
|
ylabel('Displacement [mm]');
|
|
set(gca,'YColor','k')
|
|
yyaxis right
|
|
ylabel(['Tilt [' char(176) ']']);
|
|
set(gca,'YColor','k')
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
[~,colTL] = size(GI_Disp_TL);
|
|
[~,colIPL] = size(GI_Disp_IPL);
|
|
[~,colKL] = size(GI_Date_KL);
|
|
[~,colCrL] = size(GI_Date_CrL);
|
|
num = 1;
|
|
cmap = lines(2*colKL+colTL+colIPL+colCrL);
|
|
cont = 1;
|
|
% Tilt Link V
|
|
indexTL = [];
|
|
if sum(rTL) > 0
|
|
yyaxis left
|
|
for t = 1:colTL
|
|
if GI_Date_TL(1,t) ~= 0
|
|
ind_TL = find(GI_Date_TL(:,t));
|
|
indexTL = [indexTL; t];
|
|
plot(GI_Date_TL(1:ind_TL(end),t),GI_Disp_TL(1:ind_TL(end),t),'-','Color',cmap(cont,:));
|
|
cont = cont+1;
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(t,4)) ' ' num2str(GI_Prof_TL(1,t)) ' m']);
|
|
num = num+1;
|
|
end
|
|
end
|
|
MIN(1) = min(min(GI_Disp_TL));
|
|
MAX(1) = max(max(GI_Disp_TL));
|
|
end
|
|
% In Place Link
|
|
indexIPL = [];
|
|
if sum(rIPL) > 0
|
|
yyaxis left
|
|
for t = 1:colIPL
|
|
if GI_Date_IPL(1,t) ~= 0
|
|
ind_IPL = find(GI_Date_IPL(:,t));
|
|
indexIPL = [indexIPL; t];
|
|
plot(GI_Date_IPL(1:ind_IPL(end),t),GI_Disp_IPL(1:ind_IPL(end),t),'-','Color',cmap(cont,:));
|
|
cont = cont+1;
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(t,4)) ' ' num2str(GI_Prof_IPL(1,t)) ' m']);
|
|
num = num+1;
|
|
end
|
|
end
|
|
MIN(2) = min(min(GI_Disp_IPL));
|
|
MAX(2) = max(max(GI_Disp_IPL));
|
|
end
|
|
% Crack Link
|
|
indexCrL = [];
|
|
if sum(rCrL) > 0
|
|
yyaxis left
|
|
for c = 1:colCrL
|
|
if GI_Date_CrL(1,c) ~= 0
|
|
var = GI_Disp_CrL-GI_Disp_CrL(1,:);
|
|
ind_CrL = find(GI_Date_CrL(:,c));
|
|
indexCrL = [indexCrL; c];
|
|
if sum(rKL) > 0
|
|
plot(GI_Date_CrL(1:ind_CrL(end),c),var(1:ind_CrL(end),c),'-','Color',cmap(cont,:));
|
|
else
|
|
GI_KlinoLink = plot(GI_Date_CrL(1:ind_CrL(end),c),var(1:ind_CrL(end),c),'-','Color',cmap(cont,:));
|
|
end
|
|
cont = cont+1;
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(c,4)) ' node ' num2str(GI_Num_CrL(1,c))]);
|
|
num = num+1;
|
|
end
|
|
end
|
|
MIN(3) = min(min(var));
|
|
MAX(3) = max(max(var));
|
|
ylim([floor(min(min(MIN))) ceil(max(max(MAX)))]);
|
|
end
|
|
% Klino Link
|
|
indexKL = [];
|
|
if sum(rKL) > 0
|
|
yyaxis right
|
|
kk = 1;
|
|
for k = 1:colKL
|
|
if GI_Date_KL(1,k) ~= 0
|
|
ind_KL = find(GI_Date_KL(:,k));
|
|
indexKL = [indexKL; k];
|
|
plot(GI_Date_KL(1:ind_KL(end),k),GI_Angolo_KL(1:ind_KL(end),kk)...
|
|
-GI_Angolo_KL(1,kk),'-','Color',cmap(cont,:));
|
|
GI_KlinoLink = plot(GI_Date_KL(1:ind_KL(end),k),GI_Angolo_KL(1:ind_KL(end)...
|
|
,kk+1)-GI_Angolo_KL(1,kk+1),'-','Color',cmap(cont+1,:));
|
|
cont = cont+2;
|
|
kk = kk+2;
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(k,4)) ' node' num2str(GI_Num_KL(1,k)) ', X axis']);
|
|
str(1,num+1) = cellstr([char(chainID(k,4)) ' node ' num2str(GI_Num_KL(1,k)) ', Y axis']);
|
|
num = num+2;
|
|
end
|
|
end
|
|
ylim([floor(min(min(GI_Angolo_KL))) ceil(max(max(GI_Angolo_KL)))]);
|
|
end
|
|
|
|
numcolumns = 1;
|
|
[legend_h,object_h,plot_h,text_strings] = columnlegend(numcolumns,str,'Location','NorthWest');
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-TLvsKL_ENG.png'));
|
|
if titleCha == 0
|
|
sezSITE = Heading1('Correlation between different sensors');
|
|
sezSITE.Style = {OuterMargin('0in','0in','0in','0in'),FontSize(Font_Chapter),HAlign('justify')};
|
|
Site.Title = sezSITE;
|
|
titleCha = 1;
|
|
end
|
|
add(Site,sezGrafTLvsKL);
|
|
add(Site,testoTLvsKL);
|
|
saveas(GI_KlinoLink,TempName);
|
|
ChartTLvsKL = Image(TempName);
|
|
ChartTLvsKL.Style = {ScaleToFit};
|
|
|
|
FIG = FIG+1;
|
|
ChartTLvsKL_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
text = 'Reported values refer to data recorded by sensors listed below: ';
|
|
testoTL2 = Paragraph(text);
|
|
testoTL2.HAlign = 'justify';
|
|
add(Site,testoTL2);
|
|
% Tilt Link
|
|
I = size(indexTL);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(indexTL(a),4)),' - MEMS at ',num2str(abs(GI_Prof_TL(1,indexTL(a)))),' m b.g.l.'];
|
|
testoTL2 = Paragraph(text);
|
|
add(Site,testoTL2);
|
|
end
|
|
% In Place Link
|
|
I = size(indexIPL);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(indexIPL(a),4)),' - MEMS at ',num2str(abs(GI_Prof_IPL(1,indexIPL(a)))),' m b.g.l.'];
|
|
testoTL2 = Paragraph(text);
|
|
add(Site,testoTL2);
|
|
end
|
|
% Klino Link
|
|
I = size(indexKL);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(indexKL(a),4)),' - Tilt meter ',num2str(GI_Num_KL(1,indexKL(a)))];
|
|
testoTL2 = Paragraph(text);
|
|
add(Site,testoTL2);
|
|
end
|
|
% Crack Link
|
|
I = size(indexCrL);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(indexCrL(a),4)),' - Crack meter, node ',num2str(GI_Num_CrL(1,indexCrL(a)))];
|
|
testoTL2 = Paragraph(text);
|
|
add(Site,testoTL2);
|
|
end
|
|
add(Site,ChartTLvsKL);
|
|
add(Site,ChartTLvsKL_cap);
|
|
add(Site,br);
|
|
end
|
|
close(figure(25));
|
|
escludiTL = 1;
|
|
end
|
|
% --- Spostamenti a confronto ---
|
|
% ---> Tilt Link
|
|
if sum(rTL) > 0 && exist('GI_Disp_TL','var')
|
|
if isempty(GI_Disp_TL) == 0
|
|
if escludiTL == 0
|
|
sezGrafTL = Heading2('Correlation between Tilt Link V sensors');
|
|
sezGrafTL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoTL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between highest displacement values recorded by 3D MEMS '...
|
|
'for each single Vertical Array installed on-site.']);
|
|
testoTL.HAlign = 'justify';
|
|
figure(24)
|
|
ylabel('Displacement [mm]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between maximum values measured by each single Array');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
[~,colTL] = size(GI_Disp_TL);
|
|
num = 1;
|
|
index = [];
|
|
for t = 1:colTL
|
|
if GI_Date_TL(1,t) ~= 0
|
|
ind_TL = find(GI_Date_TL(:,t));
|
|
index = [index; t];
|
|
hold on
|
|
grid on
|
|
GI_TiltLink = plot(GI_Date_TL(1:ind_TL(end),t),GI_Disp_TL(1:ind_TL(end),t));
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(t,4)) ' ' num2str(GI_Prof_TL(1,t)) ' m']);
|
|
leg = legend(str,'Location','northwest');
|
|
num = num+1;
|
|
end
|
|
end
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-TL_ENG.png'));
|
|
if num >= 3
|
|
if titleCha == 0
|
|
sezSITE = Heading1('Correlation between different sensors');
|
|
sezSITE.Style = {OuterMargin('0in','0in','0in','0in'),FontSize(Font_Chapter),HAlign('justify')};
|
|
Site.Title = sezSITE;
|
|
titleCha = 1;
|
|
end
|
|
add(Site,sezGrafTL);
|
|
add(Site,testoTL);
|
|
saveas(GI_TiltLink,TempName);
|
|
ChartTL = Image(TempName);
|
|
ChartTL.Style = {ScaleToFit};
|
|
ChartTL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between highest value of 2D differential local displacement '...
|
|
'recorded by each single Array during the reference time period']);
|
|
FIG = FIG+1;
|
|
ChartTL_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
text = 'Displacement data refer to the following sensors: ';
|
|
testoTL2 = Paragraph(text);
|
|
testoTL2.HAlign = 'justify';
|
|
add(Site,testoTL2);
|
|
I = size(index);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(index(a),4)),' - MEMS at ',num2str(abs(GI_Prof_TL(1,index(a)))),' m b.g.l.'];
|
|
testoTL2 = Paragraph(text);
|
|
add(Site,testoTL2);
|
|
end
|
|
add(Site,ChartTL);
|
|
add(Site,ChartTL_cap);
|
|
add(Site,br);
|
|
end
|
|
close(figure(24));
|
|
end
|
|
end
|
|
end
|
|
% ---> In Place Link
|
|
if sum(rIPL) > 0 && exist('GI_Disp_IPL','var')
|
|
if isempty(GI_Disp_IPL) == 0
|
|
if escludiIPL == 0
|
|
sezGrafIPL = Heading2('Correlation between In Place sensors');
|
|
sezGrafIPL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoIPL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between highest displacement values recorded by 3D MEMS '...
|
|
'for each single In Place Array installed on-site.']);
|
|
testoIPL.HAlign = 'justify';
|
|
figure(24)
|
|
ylabel('Displacement [mm]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between maximum values measured by each single Array');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
[~,colIPL] = size(GI_Disp_IPL);
|
|
num = 1;
|
|
index = [];
|
|
for t = 1:colIPL
|
|
if GI_Date_IPL(1,t) ~= 0
|
|
ind_IPL = find(GI_Date_IPL(:,t));
|
|
index = [index; t];
|
|
hold on
|
|
grid on
|
|
GI_InPlaceLink = plot(GI_Date_IPL(1:ind_IPL(end),t),GI_Disp_IPL(1:ind_IPL(end),t));
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
xtickangle(20);
|
|
str(1,num) = cellstr([char(chainID(t,4)) ' ' num2str(GI_Prof_IPL(1,t)) ' m']);
|
|
leg = legend(str,'Location','northwest');
|
|
num = num+1;
|
|
end
|
|
end
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'-IPL_ENG.png'));
|
|
if num >= 3
|
|
if titleCha == 0
|
|
sezSITE = Heading1('Correlation between different sensors');
|
|
sezSITE.Style = {OuterMargin('0in','0in','0in','0in'),FontSize(Font_Chapter),HAlign('justify')};
|
|
Site.Title = sezSITE;
|
|
titleCha = 1;
|
|
end
|
|
add(Site,sezGrafIPL);
|
|
add(Site,testoIPL);
|
|
saveas(GI_InPlaceLink,TempName);
|
|
ChartIPL = Image(TempName);
|
|
ChartIPL.Style = {ScaleToFit};
|
|
ChartIPL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between highest value of 2D differential local displacement '...
|
|
'recorded by each single Array during the reference time period']);
|
|
FIG = FIG+1;
|
|
ChartIPL_cap.Style = {HAlign('center'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
text = 'Displacement data refer to the following sensors: ';
|
|
testoIPL2 = Paragraph(text);
|
|
testoIPL2.HAlign = 'justify';
|
|
add(Site,testoIPL2);
|
|
I = size(index);
|
|
for a = 1:I(1)
|
|
text = ['- Array ',char(chainID(index(a),4)),' - MEMS at ',num2str(abs(GI_Prof_IPL(1,index(a)))),' m b.g.l.'];
|
|
testoIPL2 = Paragraph(text);
|
|
add(Site,testoIPL2);
|
|
end
|
|
add(Site,ChartIPL);
|
|
add(Site,ChartIPL_cap);
|
|
add(Site,br);
|
|
end
|
|
close(figure(24));
|
|
end
|
|
end
|
|
end
|
|
%---> Quadranti Tunnel Link
|
|
if sum(rTuL) > 0 && exist('GI_Q1_TuL','var')
|
|
if isempty(GI_Q1_TuL) == 0 && isempty(GI_Q2_TuL) == 0 && isempty(GI_Q3_TuL) == 0 ...
|
|
&& isempty(GI_Q4_TuL) == 0
|
|
if titleCha == 0
|
|
sezSITE = Heading1('Correlation between different sensors');
|
|
sezSITE.Style = {OuterMargin('0in','0in','0in','0in'),FontSize(Font_Chapter),HAlign('justify')};
|
|
spazio = Paragraph('');
|
|
add(Site,spazio);
|
|
Site.Title = sezSITE;
|
|
titleCha = 1;
|
|
end
|
|
sezGrafTuL = Heading2('Correlation between Tunnel Links');
|
|
sezGrafTuL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoTuL = Paragraph(['The following graph aims to highlight any correlation between '...
|
|
'highest 2D displacement values recorded by 3D MEMS for each single Cir Array installed on-site. '...
|
|
'Displacements are compared according to the corresponding sector, defined by dividing the monitored '...
|
|
'section in four separated areas which are numbered as explained in the following figure. ']);
|
|
testoTuL.HAlign = 'justify';
|
|
img = Image(('Quadranti.png'));
|
|
img.Style = {Height('6cm'),HAlign('center')};
|
|
imgcaption = Paragraph(['Fig. ' num2str(FIG) ' - Sectors numbering in a tunnel section']);
|
|
FIG = FIG+1;
|
|
imgcaption.Style = {HAlign('center'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
% Quadrante 1
|
|
figure(25)
|
|
set(gca,'YColor','k')
|
|
[~,colTuL] = size(GI_Q1_TuL);
|
|
num = 1;
|
|
for t = 1:colTuL
|
|
if GI_Date_TuL(1,t) ~= 0
|
|
y1(num) = GI_Q1_TuL(1,t);
|
|
y2(num) = GI_Q2_TuL(1,t);
|
|
y3(num) = GI_Q3_TuL(1,t);
|
|
y4(num) = GI_Q4_TuL(1,t);
|
|
y5(num) = 0;
|
|
str(1,num) = chainID(t,4);
|
|
num = num+1;
|
|
end
|
|
end
|
|
y = [y1;y2;y3;y4;y5];
|
|
x = [1;2;3;4;5];
|
|
Quadranti = barh(x,y);
|
|
grid on
|
|
|
|
title('Correlation between displacements recorded in different sectors');
|
|
xlabel('Displacement [mm]');
|
|
ylabel('Sector [-]');
|
|
ylim([0 5]); % Con 5, metto la legenda in alto a sx (il valore 5 ? pieno di 0)
|
|
% Stimo limiti asse X
|
|
ini1 = min(GI_Q1_TuL);
|
|
ini2 = min(GI_Q2_TuL);
|
|
ini3 = min(GI_Q3_TuL);
|
|
ini4 = min(GI_Q4_TuL);
|
|
Min = [ini1; ini2; ini3; ini4];
|
|
C = min(Min);
|
|
end1 = max(GI_Q1_TuL);
|
|
end2 = max(GI_Q2_TuL);
|
|
end3 = max(GI_Q3_TuL);
|
|
end4 = max(GI_Q4_TuL);
|
|
Max = [end1; end2; end3; end4];
|
|
B = max(Max);
|
|
A = [abs(C),abs(B)];
|
|
LIM = max(A);
|
|
POS = find(A == LIM);
|
|
if -LIM > -2.5 % mm
|
|
ini = -2.5;
|
|
else
|
|
ini = -LIM;
|
|
end
|
|
if LIM < 2.5
|
|
End = 2.5;
|
|
else
|
|
End = LIM;
|
|
end
|
|
xlim([ini End]);
|
|
if num-1 == 1 % 1 solo array
|
|
ylim([0 5]);
|
|
else
|
|
ylim([0 6]);
|
|
end
|
|
yticks(1:4);
|
|
if POS == 1 % Legenda a DX
|
|
legend(str,'Location','northeast');
|
|
else % SX
|
|
legend(str,'Location','northwest');
|
|
end
|
|
|
|
add(Site,sezGrafTuL);
|
|
add(Site,testoTuL);
|
|
add(Site,img);
|
|
add(Site,imgcaption);
|
|
|
|
TempName1 = char(strcat('Report',siteID,'-', char(toolrif),'-Quadranti_ENG.png'));
|
|
saveas(Quadranti(1),TempName1);
|
|
ChartTuL = Image(TempName1);
|
|
ChartTuL.Style = {Height('7.5cm'),HAlign('center')};
|
|
close(figure(25))
|
|
Quadranti_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between highest 2D displacement values '...
|
|
'recorded by each single Array in the corresponding sector of the monitored tunnel section '...
|
|
'during the reference time period']);
|
|
FIG = FIG+1;
|
|
Quadranti_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
|
|
text = 'Displacement data refer to the following sensors: ';
|
|
testoTuL2 = Paragraph(text);
|
|
testoTuL2.HAlign = 'justify';
|
|
add(Site,testoTuL2);
|
|
text = 'Sector 1';
|
|
testoTuL1 = Paragraph(text);
|
|
testoTuL1.Style = {HAlign('justify'),FontSize(Font_caption),Bold(1),Color('midnightblue')};
|
|
add(Site,testoTuL1);
|
|
for a = 1:colTuL
|
|
if GI_Date_TuL(1,a) ~= 0
|
|
text1 = ['- Array ',char(chainID(a,4)),' - node ',num2str(abs(GI_Q1_Num_TuL(1,a))),''];
|
|
testoTuL2 = Paragraph(text1);
|
|
add(Site,testoTuL2);
|
|
end
|
|
end
|
|
text = 'Sector 2';
|
|
testoTuL3 = Paragraph(text);
|
|
testoTuL3.Style = {HAlign('justify'),FontSize(Font_caption),Bold(1),Color('midnightblue')};
|
|
add(Site,testoTuL3);
|
|
for a = 1:colTuL
|
|
if GI_Date_TuL(1,a) ~= 0
|
|
text2 = ['- Array ',char(chainID(a,4)),' - node ',num2str(abs(GI_Q2_Num_TuL(1,a))),''];
|
|
testoTuL4 = Paragraph(text2);
|
|
add(Site,testoTuL4);
|
|
end
|
|
end
|
|
text = 'Sector 3';
|
|
testoTuL5 = Paragraph(text);
|
|
testoTuL5.Style = {HAlign('justify'),FontSize(Font_caption),Bold(1),Color('midnightblue')};
|
|
add(Site,testoTuL5);
|
|
for a = 1:colTuL
|
|
if GI_Date_TuL(1,a) ~= 0
|
|
text3 = ['- Array ',char(chainID(a,4)),' - node ',num2str(abs(GI_Q3_Num_TuL(1,a))),''];
|
|
testoTuL6 = Paragraph(text3);
|
|
add(Site,testoTuL6);
|
|
end
|
|
end
|
|
text = 'Sector 4';
|
|
testoTuL7 = Paragraph(text);
|
|
testoTuL7.Style = {HAlign('justify'),FontSize(Font_caption),Bold(1),Color('midnightblue')};
|
|
add(Site,testoTuL7);
|
|
for a = 1:colTuL
|
|
if GI_Date_TuL(1,a) ~= 0
|
|
text4 = ['- Array ',char(chainID(a,4)),' - node ',num2str(abs(GI_Q4_Num_TuL(1,a))),''];
|
|
testoTuL8 = Paragraph(text4);
|
|
add(Site,testoTuL8);
|
|
end
|
|
end
|
|
add(Site,ChartTuL);
|
|
add(Site,Quadranti_cap);
|
|
end
|
|
end
|
|
% ---> Confronti variazioni segmenti Stella
|
|
if sum(rTuL) > 0 && exist('GI_Seg_TuL','var')
|
|
if isempty(GI_Seg_TuL) == 0
|
|
testoStar = Paragraph(['The following graph aims to compare the length variation of '...
|
|
'each convergence segment referred to tunnel sections monitored with a Cir Array. Please refer to '...
|
|
'the corresponding Array section of this Report for information regarding any specific convergence star.']);
|
|
testoStar.HAlign = 'justify';
|
|
figure(26)
|
|
set(gca,'YColor','k')
|
|
s = 1;
|
|
num = 1;
|
|
[~,colTuL] = size(GI_Date_TuL);
|
|
for t = 1:colTuL
|
|
if GI_Date_TuL(1,t) ~= 0 % Esistono dati per quell'array
|
|
% Segmento 1
|
|
s1(num) = GI_Seg_TuL(1,s);
|
|
s = s+1;
|
|
% Segmento 2
|
|
if GI_NumSeg_TuL(t,1) > 1
|
|
s2(num) = GI_Seg_TuL(1,s);
|
|
s = s+1;
|
|
else
|
|
s2(num) = 0;
|
|
end
|
|
% Segmento 3
|
|
if GI_NumSeg_TuL(t,1) > 2
|
|
s3(num) = GI_Seg_TuL(1,s);
|
|
s = s+1;
|
|
else
|
|
s3(num) = 0;
|
|
end
|
|
% Segmento 4
|
|
if GI_NumSeg_TuL(t,1) > 3
|
|
s4(num) = GI_Seg_TuL(1,s);
|
|
s = s+1;
|
|
else
|
|
s4(num) = 0;
|
|
end
|
|
% Segmento 5
|
|
if GI_NumSeg_TuL(t,1) > 4
|
|
s5(num) = GI_Seg_TuL(1,s);
|
|
s = s+1;
|
|
else
|
|
s5(num) = 0;
|
|
end
|
|
% Segmento 6
|
|
if GI_NumSeg_TuL(t,1) > 5
|
|
s6(num) = GI_Seg_TuL(1,s);
|
|
s = s+1;
|
|
else
|
|
s6(num) = 0;
|
|
end
|
|
% Segmento 7
|
|
if GI_NumSeg_TuL(t,1) > 6
|
|
s7(num) = GI_Seg_TuL(1,s);
|
|
s = s+1;
|
|
else
|
|
s7(num) = 0;
|
|
end
|
|
str(1,num) = chainID(t,4);
|
|
num = num+1;
|
|
end
|
|
end
|
|
y = [s1;s2;s3;s4;s5;s6;s7];
|
|
x = [1;2;3;4;5;6;7];
|
|
yticklabels({'S1','S2','S3','S4','S5','S6','S7'})
|
|
Stella = barh(x,y);
|
|
grid on
|
|
|
|
title('Correlation between convergence segments length variation');
|
|
xlabel('Displacement [mm]');
|
|
ylabel('Segment [-]');
|
|
% Stimo limiti asse X
|
|
ini = min(y);
|
|
ini = min(ini);
|
|
End = max(y);
|
|
End = max(End);
|
|
A = [abs(ini),End];
|
|
RIF = max(A);
|
|
ind = find(A == RIF);
|
|
if ind == 1
|
|
legend(str,'Location','northeast');
|
|
else
|
|
legend(str,'Location','northwest');
|
|
end
|
|
if -RIF > -2.5 % mm
|
|
ini = -2.5;
|
|
else
|
|
ini = -RIF;
|
|
end
|
|
if RIF < 2.5
|
|
End = 2.5;
|
|
else
|
|
End = RIF;
|
|
end
|
|
xlim([ini End]);
|
|
yticks(1:7);
|
|
if num-1 == 1 % Numero Array
|
|
ylim([0 7]);
|
|
else
|
|
ylim([0 8]);
|
|
end
|
|
add(Site,testoStar);
|
|
|
|
TempName1 = char(strcat('Report',siteID,'-', char(toolrif),'-Stella_ENG.png'));
|
|
saveas(Stella(1),TempName1);
|
|
ChartStella = Image(TempName1);
|
|
ChartStella.Style = {Height('7.5cm'),HAlign('center')};
|
|
add(Site,ChartStella);
|
|
close(figure(26))
|
|
Quadranti_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between length variations of each convergence segment '...
|
|
'recorded in the corresponding tunnel section by each single Array '...
|
|
'during the reference time period']);
|
|
FIG = FIG+1;
|
|
Quadranti_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
add(Site,Quadranti_cap);
|
|
add(Site,br);
|
|
end
|
|
end
|
|
% ---> Grafici spostamento in calotta PreConv vs Cir
|
|
if sum(rTuL) > 0 && exist('GI_Z_TuL','var') && sum(rPCL) > 0 && exist('GI_Z_PCL','var')
|
|
if isempty(GI_Z_TuL) == 0 && isempty(GI_Z_PCL) == 0
|
|
sezGrafTuLvsPCL = Heading2('Correlation between PreConv Array and Cir Array');
|
|
sezGrafTuLvsPCL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoTuLvsPCL = Paragraph(['The following graph aims to highlight any correlation '...
|
|
'between local displacements recorded by PreConv Array and Cir Array sensors. The comparison '...
|
|
'takes into account two nodes, one for each Array, installed approximately in the same place of the '...
|
|
'upper part of the monitored section.']);
|
|
testoTuLvsPCL.HAlign = 'justify';
|
|
|
|
% Cerco eventuali correlazioni con Cir Array
|
|
NomeFile = strcat('Report',siteID,'-PCLvsTuL.txt');
|
|
Filetesto = importdata(NomeFile);
|
|
[rF,~] = size(Filetesto);
|
|
AAA = 1;
|
|
num = 1;
|
|
sen = 1;
|
|
SensoriTuL = zeros(1,1);
|
|
SensoriPCL = zeros(1,1);
|
|
CatenaTuL = cell(1,1);
|
|
CatenaPCL = cell(1,1);
|
|
colCIR = 0;
|
|
while AAA < rF % A un PreConv possono competere pi? Cir
|
|
PCL = 0;
|
|
Cir = 0;
|
|
check1 = Filetesto(AAA,1);
|
|
if check1 == 99999 % Non ci sono PreConv Array o non ci sono Cir
|
|
break
|
|
else
|
|
check2 = Filetesto(AAA+1,1);
|
|
for nn = 1:rAR
|
|
chain = char(chainID(nn,4));
|
|
if check1 == str2num(chain(end-2:end))
|
|
PCL = nn;
|
|
NodoPCL = Filetesto(AAA+2,1);
|
|
SensoriPCL(sen,1) = NodoPCL;
|
|
CatenaPCL(sen,1) = chainID(nn,4);
|
|
end
|
|
if check2 == str2num(chain(end-2:end))
|
|
Cir = nn;
|
|
NodoTuL = Filetesto(AAA+3,1);
|
|
SensoriTuL(sen,1) = NodoTuL;
|
|
CatenaTuL(sen,1) = chainID(nn,4);
|
|
colCIR = colCIR+1;
|
|
end
|
|
if PCL > 0 && Cir > 0
|
|
figure(27)
|
|
ylabel('Displacement [mm]');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between corresponding sensors');
|
|
grid on
|
|
hold on
|
|
dim1 = find(GI_Z_PCL(:,PCL));
|
|
dim2 = find(GI_Z_TuL(:,colCIR));
|
|
if isempty(dim1) == 0 && isempty(dim2) == 0
|
|
plot(GI_Date_PCL(1:dim1(end),PCL),GI_Z_PCL(1:dim1(end),PCL));
|
|
GI_TuLvsPCL = plot(GI_Date_TuL(1:dim2(end),Cir),GI_Z_TuL(1:dim2(end),colCIR));
|
|
MIN1 = min(GI_Z_PCL(:,PCL));
|
|
MIN2 = min(GI_Z_TuL(:,colCIR));
|
|
MIN = min(MIN1,MIN2);
|
|
MAX1 = max(GI_Z_PCL(:,PCL));
|
|
MAX2 = max(GI_Z_TuL(:,colCIR));
|
|
MAX = max(MAX1,MAX2);
|
|
if MAX < 5 && MIN > -5 % mm
|
|
ylim([-5 5]);
|
|
elseif MAX < 5
|
|
ylim([MIN-1 5]);
|
|
elseif MIN > -5
|
|
ylim([-5 MAX+1]);
|
|
end
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
xtickangle(20);
|
|
str(1,1) = cellstr([char(CatenaPCL(sen,1)) ' Node ' num2str(NodoPCL) '']);
|
|
str(1,2) = cellstr([char(CatenaTuL(sen,1)) ' Node ' num2str(NodoTuL) '']);
|
|
legend(str,'Location','northwest');
|
|
TempName = char(strcat('Report',siteID,'-PCLvsTuL',num2str(num),'_ENG.png'));
|
|
saveas(GI_TuLvsPCL,TempName);
|
|
num = num+1;
|
|
end
|
|
close(figure(27));
|
|
sen = sen+1;
|
|
AAA = AAA+4;
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end
|
|
num = num-1;
|
|
if num ~= 0 % Non ci sono legami
|
|
add(Site,sezGrafTuLvsPCL);
|
|
add(Site,testoTuLvsPCL);
|
|
if num == 1
|
|
TempName = char(strcat('Report',siteID,'-PCLvsTuL',num2str(num),'_ENG.png'));
|
|
Chart1 = Image(TempName);
|
|
Chart1.Style = {ScaleToFit};
|
|
add(Site,Chart1);
|
|
else
|
|
n = 1;
|
|
while n <= num
|
|
TempName = char(strcat('Report',siteID,'-PCLvsTuL',num2str(n),'_ENG.png'));
|
|
Chart1 = Image(TempName);
|
|
Chart1.Style = {Height('7cm')};
|
|
if n+1 <= num
|
|
TempName = char(strcat('Report',siteID,'-PCLvsTuL',num2str(n+1),'_ENG.png'));
|
|
Chart2 = Image(TempName);
|
|
Chart2.Style = {Height('7cm')};
|
|
lot = Table({Chart1, Chart2});
|
|
lot.Style = {ResizeToFitContents(false), Width('100%')};
|
|
n = n+2;
|
|
add(Site,lot);
|
|
else
|
|
n = n+1;
|
|
add(Site,Chart1);
|
|
end
|
|
end
|
|
end
|
|
ChartPCLvsTuL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison between '...
|
|
'local displacements recorded during the reference time period by the '...
|
|
'Cir Array sensor installed on the upper part of '...
|
|
'the tunnel section, and the corresponding PreConv Array sensor']);
|
|
FIG = FIG+1;
|
|
ChartPCLvsTuL_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
add(Site,ChartPCLvsTuL_cap);
|
|
|
|
text = 'Displacement data refer to the following sensors: ';
|
|
testoPCLvsTuL2 = Paragraph(text);
|
|
testoPCLvsTuL2.HAlign = 'justify';
|
|
add(Site,testoPCLvsTuL2);
|
|
I = size(SensoriPCL);
|
|
for a = 1:I(1)
|
|
textPC = ['- PreConv Array ' char(CatenaPCL(a,1)) ' - Node ' num2str(SensoriPCL(a,1)) ';'];
|
|
textCA = ['- Cir Array ' char(CatenaTuL(a,1)),' - Node ' num2str(SensoriTuL(a,1)) '.'];
|
|
spazio = Paragraph('');
|
|
testoPCLvsTuL2 = Paragraph(textPC);
|
|
testoPCLvsTuL3 = Paragraph(textCA);
|
|
add(Site,testoPCLvsTuL2);
|
|
add(Site,testoPCLvsTuL3);
|
|
add(Site,spazio);
|
|
end
|
|
add(Site,br);
|
|
end
|
|
end
|
|
end
|
|
|
|
% ---> Grafici spostamento Cir vs Rad
|
|
if sum(rRaL) > 0 && exist('GI_dS_RL_TuL','var') && sum(rRaL) > 0 && exist('GI_dS_TuL_RL','var')
|
|
if isempty(GI_dS_RL_TuL) == 0 && isempty(GI_dS_TuL_RL) == 0
|
|
sezGrafTuLvsRL = Heading2('Correlazioni tra Cir Array e Rad Array');
|
|
sezGrafTuLvsRL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoTuLvsRL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 2D local differential displacement values recorded by the Radial Link located closer '...
|
|
'to the monitored section, and the corresponding Tunnel Link sensor.']);
|
|
testoTuLvsRL.HAlign = 'justify';
|
|
|
|
% Cerco eventuali correlazioni con Cir Array
|
|
NomeFile = strcat('Report',siteID,'-TuLvsRL.txt');
|
|
Filetesto = importdata(NomeFile);
|
|
[rF,~] = size(Filetesto);
|
|
AAA = 1;
|
|
num = 1;
|
|
sen = 1;
|
|
SensoriTuL = zeros(1,1);
|
|
SensoriRL = zeros(1,1);
|
|
CatenaTuL = cell(1,1);
|
|
CatenaRL = cell(1,1);
|
|
colCIR = 0;
|
|
while AAA < rF
|
|
Rad = 0;
|
|
Cir = 0;
|
|
check1 = Filetesto(AAA,1);
|
|
if check1 == 99999 % Non ci sono Rad Array o non ci sono Cir
|
|
break
|
|
else
|
|
check2 = Filetesto(AAA+1,1);
|
|
for nn = 1:rAR
|
|
chain = char(chainID(nn,4));
|
|
if check1 == str2num(chain(end-2:end)) % Il primo deve sempre essere il Cir
|
|
Cir = nn;
|
|
NodoTuL = Filetesto(AAA+2,1);
|
|
SensoriTuL(sen,1) = NodoTuL;
|
|
CatenaTuL(sen,1) = chainID(nn,4);
|
|
colCIR = colCIR+1;
|
|
end
|
|
if check2 == str2num(chain(end-2:end))
|
|
Rad = nn;
|
|
NodoRL = Filetesto(AAA+3,1);
|
|
SensoriRL(sen,1) = NodoRL;
|
|
CatenaRL(sen,1) = chainID(nn,4);
|
|
end
|
|
if Rad > 0 && Cir > 0
|
|
figure(28)
|
|
ylabel('Displacement [mm]');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between corresponding sensors');
|
|
grid on
|
|
hold on
|
|
dim1 = find(GI_dS_RL_TuL(:,Rad));
|
|
dim2 = find(GI_dS_TuL_RL(:,colCIR));
|
|
if isempty(dim1) == 0 && isempty(dim2) == 0
|
|
plot(GI_Date_Rad(1:dim1(end),Rad),GI_dS_RL_TuL(1:dim1(end),Rad));
|
|
GI_TuLvsRL = plot(GI_Date_TuL(1:dim2(end),Cir),GI_dS_TuL_RL(1:dim2(end),colCIR));
|
|
MAX1 = max(GI_dS_RL_TuL(:,Rad));
|
|
MAX2 = max(GI_dS_TuL_RL(:,colCIR));
|
|
MAX = max(MAX1,MAX2);
|
|
if MAX < 5 % mm
|
|
ylim([0 5]);
|
|
end
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
xtickangle(20);
|
|
str(1,1) = cellstr([char(CatenaTuL(sen,1)) ' Node ' num2str(NodoTuL) '']);
|
|
str(1,2) = cellstr([char(CatenaRL(sen,1)) ' Node ' num2str(NodoRL) '']);
|
|
legend(str,'Location','northwest');
|
|
TempName = char(strcat('Report',siteID,'-TuLvsRL',num2str(num),'_ENG.png'));
|
|
saveas(GI_TuLvsRL,TempName);
|
|
num = num+1;
|
|
end
|
|
close(figure(28));
|
|
sen = sen+1;
|
|
AAA = AAA+4;
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end
|
|
num = num-1;
|
|
if num ~= 0 % Non ci sono legami
|
|
add(Site,sezGrafTuLvsRL);
|
|
add(Site,testoTuLvsRL);
|
|
if num == 1
|
|
TempName = char(strcat('Report',siteID,'-TuLvsRL',num2str(num),'_ENG.png'));
|
|
Chart1 = Image(TempName);
|
|
Chart1.Style = {ScaleToFit};
|
|
add(Site,Chart1);
|
|
else
|
|
n = 1;
|
|
while n <= num
|
|
TempName = char(strcat('Report',siteID,'-TuLvsRL',num2str(n),'_ENG.png'));
|
|
Chart1 = Image(TempName);
|
|
Chart1.Style = {Height('7cm')};
|
|
if n+1 <= num
|
|
TempName = char(strcat('Report',siteID,'-TuLvsRL',num2str(n+1),'_ENG.png'));
|
|
Chart2 = Image(TempName);
|
|
Chart2.Style = {Height('7cm')};
|
|
lot = Table({Chart1, Chart2});
|
|
lot.Style = {ResizeToFitContents(false), Width('100%')};
|
|
n = n+2;
|
|
add(Site,lot);
|
|
else
|
|
n = n+1;
|
|
add(Site,Chart1);
|
|
end
|
|
end
|
|
end
|
|
ChartTuLvsRL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between 2D local displacement data recorded by the Radial Link sensor closer to '...
|
|
'the monitored section, and the corresponding Tunnel Link sensor']);
|
|
FIG = FIG+1;
|
|
ChartTuLvsRL_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
add(Site,ChartTuLvsRL_cap);
|
|
|
|
text = 'Displacement data refer to the following sensors: ';
|
|
testoTuL2vsRL = Paragraph(text);
|
|
testoTuL2vsRL.HAlign = 'justify';
|
|
add(Site,testoTuL2vsRL);
|
|
I = size(SensoriRL);
|
|
for a = 1:I(1)
|
|
text = ['- Rad Array ' char(CatenaRL(a,1)) ' - Node ' num2str(SensoriRL(a,1)) ...
|
|
', Cir Array ' char(CatenaTuL(a,1)),' - Node ' num2str(SensoriTuL(a,1)) ''];
|
|
testoTuL2vsRL = Paragraph(text);
|
|
add(Site,testoTuL2vsRL);
|
|
end
|
|
add(Site,br);
|
|
end
|
|
end
|
|
end
|
|
|
|
% ---> Grafici spostamento Rad vs MPB
|
|
if sum(rRaL) > 0 && exist('GI_dS_RL_MPB','var') && sum(rMPBEL) > 0 && exist('GI_dS_MPB_RL','var')
|
|
if isempty(GI_dS_RL_MPB) == 0 && isempty(GI_dS_MPB_RL) == 0
|
|
sezGrafMPBvsRL = Heading2('Correlation between Rad Array and Multipoint Borehole Extensometer (MPBX)');
|
|
sezGrafMPBvsRL.Style = {FontSize(Font_tools),Bold(1),Italic(1)};
|
|
testoMPBvsRL = Paragraph(['The following graph aims to highlight any possible correlation '...
|
|
'between 3D local differential displacement values recorded by the Radial Link sensor and the '...
|
|
'corresponding radial deformation measured by the longest rod of the MPBX.']);
|
|
testoMPBvsRL.HAlign = 'justify';
|
|
|
|
% Cerco eventuali correlazioni con Estensimetro multibase
|
|
NomeFile = strcat('Report',siteID,'-RLvsMPBEL.txt');
|
|
Filetesto = importdata(NomeFile);
|
|
[rF,~] = size(Filetesto);
|
|
AAA = 1;
|
|
num = 1;
|
|
sen = 1;
|
|
SensoriRL = zeros(1,1);
|
|
SensoriMPB = zeros(1,1);
|
|
CatenaRL = cell(1,1);
|
|
CatenaMPB = cell(1,1);
|
|
colMPB = 0;
|
|
while AAA < rF
|
|
Rad = 0;
|
|
MPB = 0;
|
|
check1 = Filetesto(AAA,1);
|
|
if check1 == 99999 % Non ci sono Rad Array o estensimetri multibase
|
|
break
|
|
else
|
|
check2 = Filetesto(AAA+1,1);
|
|
for nn = 1:rAR
|
|
chain = char(chainID(nn,4));
|
|
if check1 == str2num(chain(end-2:end)) % Il primo deve sempre essere il Rad
|
|
Rad = nn;
|
|
NodoRL = Filetesto(AAA+2,1);
|
|
SensoriRL(sen,1) = NodoRL;
|
|
CatenaRL(sen,1) = chainID(nn,4);
|
|
end
|
|
if check2 == str2num(chain(end-2:end))
|
|
MPB = nn;
|
|
NodoMPB = Filetesto(AAA+3,1);
|
|
SensoriMPB(sen,1) = NodoMPB;
|
|
CatenaMPB(sen,1) = chainID(nn,4);
|
|
colMPB = colMPB+1;
|
|
end
|
|
if Rad > 0 && MPB > 0
|
|
figure(29)
|
|
ylabel('Displacement [mm]');
|
|
xlabel('Date [dd/mm/yyyy]');
|
|
set(gca,'YColor','k')
|
|
title('Correlation between corresponding displacements');
|
|
grid on
|
|
hold on
|
|
dim1 = find(GI_dS_RL_MPB(:,Rad));
|
|
dim2 = find(GI_dS_MPB_RL(:,colMPB));
|
|
if isempty(dim1) == 0 && isempty(dim2) == 0
|
|
plot(GI_Date_Rad(1:dim1(end),Rad),GI_dS_RL_MPB(1:dim1(end),Rad));
|
|
GI_MPBvsRL = plot(GI_Date_MPB(1:dim2(end),MPB),GI_dS_MPB_RL(1:dim2(end),colMPB));
|
|
MAX1 = max(GI_dS_RL_MPB(:,Rad));
|
|
MAX2 = max(GI_dS_MPB_RL(:,colMPB));
|
|
MAX = max(MAX1,MAX2);
|
|
if MAX < 5 % mm
|
|
ylim([-5 5]);
|
|
end
|
|
datetick('x','dd/mm/yyyy','keepticks','keeplimits');
|
|
h = gca;
|
|
h.XAxis.MinorTick = 'on';
|
|
xtickangle(20);
|
|
str(1,1) = cellstr([char(CatenaRL(sen,1)) ' Node ' num2str(NodoRL) '']);
|
|
str(1,2) = cellstr([char(CatenaMPB(sen,1)) ' MPBX ' num2str(NodoMPB) '']);
|
|
legend(str,'Location','northwest');
|
|
TempName = char(strcat('Report',siteID,'-RLvsMPB',num2str(num),'_ENG.png'));
|
|
saveas(GI_MPBvsRL,TempName);
|
|
num = num+1;
|
|
end
|
|
close(figure(29))
|
|
sen = sen+1;
|
|
AAA = AAA+4;
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end
|
|
num = num-1;
|
|
if num ~= 0 % Non ci sono legami
|
|
add(Site,sezGrafMPBvsRL);
|
|
add(Site,testoMPBvsRL);
|
|
if num == 1
|
|
TempName = char(strcat('Report',siteID,'-RLvsMPB',num2str(num),'_ENG.png'));
|
|
Chart1 = Image(TempName);
|
|
Chart1.Style = {ScaleToFit};
|
|
add(Site,Chart1);
|
|
else
|
|
n = 1;
|
|
while n <= num
|
|
TempName = char(strcat('Report',siteID,'-RLvsMPB',num2str(n),'_ENG.png'));
|
|
Chart1 = Image(TempName);
|
|
Chart1.Style = {Height('7cm')};
|
|
if n+1 <= num
|
|
TempName = char(strcat('Report',siteID,'-RLvsMPB',num2str(n+1),'_ENG.png'));
|
|
Chart2 = Image(TempName);
|
|
Chart2.Style = {Height('7cm')};
|
|
lot = Table({Chart1, Chart2});
|
|
lot.Style = {ResizeToFitContents(false), Width('100%')};
|
|
n = n+2;
|
|
add(Site,lot);
|
|
else
|
|
n = n+1;
|
|
add(Site,Chart1);
|
|
end
|
|
end
|
|
end
|
|
ChartMPBvsRL_cap = Paragraph(['Fig. ' num2str(FIG) ' - Comparison '...
|
|
'between 3D local differential displacement values recorded by the Radial Link sensor and the '...
|
|
'corresponding radial deformation measured by the longest rod of the MPBX.']);
|
|
FIG = FIG+1;
|
|
ChartMPBvsRL_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
add(Site,ChartMPBvsRL_cap);
|
|
|
|
text = 'Displacement data refer to the following sensors: ';
|
|
testoMPB2vsRL = Paragraph(text);
|
|
testoMPB2vsRL.HAlign = 'justify';
|
|
add(Site,testoMPB2vsRL);
|
|
I = size(SensoriRL);
|
|
for a = 1:I(1)
|
|
text = ['- Rad Array ' char(CatenaRL(a,1)) ' - Node ' num2str(SensoriRL(a,1)) ...
|
|
', Analog Array ' char(CatenaMPB(a,1)),' - MPBX ' num2str(SensoriMPB(a,1)) ''];
|
|
testoMPB2vsRL = Paragraph(text);
|
|
add(Site,testoMPB2vsRL);
|
|
end
|
|
|
|
add(Site,br);
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
text = 'report_CrossGraphs_ENG function executed correctly';
|
|
fprintf(fileID,fmt,text);
|
|
fclose(fileID);
|
|
|
|
end |