function [GI_Rad_XYZ,GI_Rad_Num,GI_Rad_MPBEL,GI_Rad_Cir,GI_Rad_Date,ATTIVA,FIG,FIG_ENG] = report_RaL(... DTcatena,rRaL,m,NodoRadialLink,toolrif,unitrif,datarif,firstdata_num,Font_caption,... Font_tools,siteID,DT,DT_ENG,FIG,FIG_ENG,br,colonna2,colonna2bis,status,ATTIVA,activeEN,... conn,FileName) fileID = fopen(FileName,'a'); fmt = '%s \r'; text = 'report_RaL function started'; fprintf(fileID,fmt,text); import mlreportgen.dom.* import mlreportgen.report.* % Make sure DOM is compilable makeDOMCompilable() GI_Rad_XYZ = []; GI_Rad_Num = []; GI_Rad_MPBEL = []; GI_Rad_Cir = []; GI_Rad_Date = []; check = 0; while check == 0 if status(m,1) == 1 if ATTIVA == 1 ATTIVA = 0; testo = Paragraph('Catena non ancora installata o inattiva.'); add(DT,testo); if activeEN == 1 testo = Paragraph('Array not installed or inactive.'); add(DT_ENG,testo); end end check = 1; elseif status(m,1) == 3 if ATTIVA == 1 ATTIVA = 0; testo = Paragraph(['Monitoraggio completato. Invitiamo a visitare la '... 'piattaforma web per la visione dei dati storici.']); add(DT,testo); if activeEN == 1 testo = Paragraph(['Monitoring completed. Please log into the web-based platform '... 'to access the complete dataset.']); add(DT_ENG,testo); end end check = 1; else NODATA(m,1) = 0; date = datestr(datenum(colonna2{m+1,1},'dd-mm-yyyy'),'yyyy-mm-dd'); % data riferimento definita sul sito % posizione di progetto dei nodi comando = ['select EventDate, EventTime, X, Y, Z from ElabDataView where EventDate = ''' ... date ''' and ToolNameID = ''' char(toolrif) ''' and UnitName = ''' char(unitrif) ... ''' ']; curs = exec(conn,comando); curs = fetch(curs); SezioneXYZ = curs.Data; Datasez = SezioneXYZ(1,1); Orasez = SezioneXYZ(1,2); [rz,~] = size(SezioneXYZ); scrivi = 1; for rr = 1:rz if strcmp(SezioneXYZ(rr,1),Datasez)==1 && strcmp(SezioneXYZ(rr,2),Orasez) ==1 CoordX(scrivi,1) = cell2mat(SezioneXYZ(rr,3)); CoordY(scrivi,1) = cell2mat(SezioneXYZ(rr,4)); CoordZ(scrivi,1) = cell2mat(SezioneXYZ(rr,5)); scrivi = scrivi+1; end end diffX = zeros(1,rRaL(m,1)); diffY = zeros(1,rRaL(m,1)); diffZ = zeros(1,rRaL(m,1)); RIS_XYZ_Mese = zeros(1,rRaL(m,1)); RIS_XYZ_Tot = zeros(1,rRaL(m,1)); Num = zeros(rRaL(m,1),1); for n = 1:rRaL(m,1) NodeNum = num2str(NodoRadialLink(n,m)); % dati del mese comando = ['select EventDate, EventTime, XShift, YShift, ZShift, X, Y, Z '... 'from ElabDataView where EventDate >= ''' datarif ''' and ToolNameID = ''' ... char(toolrif) ''' and UnitName = ''' char(unitrif) ''' and NodeNum = ''' NodeNum ''' ']; curs = exec(conn,comando); curs = fetch(curs); Dati = curs.Data; Num(n,1) = NodoRadialLink(n,m); [rD,rC] = size(Dati); if rC ~= 1 T = [cell2mat(Dati(:,1)) repmat(' ', [rD,1]) cell2mat(Dati(:,2))]; Date = datenum(T); % Data if n == 1 % Il primo lo scrivo e creo la variabile di controllo else [rS,~] = size(asseX); if rD ~= rS NODATA(m,1) = 1; check = 0; break else check = 1; end end % spostamenti dei nodi dall'inizio asseX(:,n) = cell2mat(Dati(:,3)); asseY(:,n) = cell2mat(Dati(:,4)); asseZ(:,n) = cell2mat(Dati(:,5)); X_RL_Tot(:,n) = cell2mat(Dati(:,6)); Y_RL_Tot(:,n) = cell2mat(Dati(:,7)); Z_RL_Tot(:,n) = cell2mat(Dati(:,8)); X_RL_Mese(:,n) = X_RL_Tot(:,n)-X_RL_Tot(1,n)+CoordX(n,1)'; Y_RL_Mese(:,n) = Y_RL_Tot(:,n)-Y_RL_Tot(1,n)+CoordY(n,1)'; Z_RL_Mese(:,n) = Z_RL_Tot(:,n)-Z_RL_Tot(1,n)+CoordZ(n,1)'; diffX(1,n) = asseX(end,n)-asseX(1,n); diffY(1,n) = asseY(end,n)-asseY(1,n); diffZ(1,n) = asseZ(end,n)-asseZ(1,n); dX(:,n) = asseX(:,n)-asseX(:,1); dY(:,n) = asseY(:,n)-asseY(:,1); dZ(:,n) = asseZ(:,n)-asseZ(:,1); RIS_XYZ_Mese(1,n) = (sqrt(diffX(1,n)^2 + diffY(1,n)^2+diffZ(1,n)^2))*1000; cX_Mese(1,n) = 100*abs(1000*diffX(1,n))/RIS_XYZ_Mese(1,n); cY_Mese(1,n) = 100*abs(1000*diffY(1,n))/RIS_XYZ_Mese(1,n); cZ_Mese(1,n) = 100*abs(1000*diffZ(1,n))/RIS_XYZ_Mese(1,n); RIS_XYZ_Tot(1,n) = (sqrt(asseX(end,n)^2 + asseY(end,n)^2+asseZ(end,n)^2))*1000; cX_Tot(1,n) = 100*abs(1000*asseX(1,n))/RIS_XYZ_Tot(1,n); sigX_Tot(1,n) = sign(asseX(1,n)); cY_Tot(1,n) = 100*abs(1000*asseY(1,n))/RIS_XYZ_Tot(1,n); sigY_Tot(1,n) = sign(asseY(1,n)); cZ_Tot(1,n) = 100*abs(1000*asseZ(1,n))/RIS_XYZ_Tot(1,n); sigZ_Tot(1,n) = sign(asseZ(1,n)); else NODATA(m,1) = 1; check = 1; end end if NODATA(m,1) == 0 if strcmp(colonna2bis(m+1,1),colonna2(m+1,1)) == 0 % data zero diversa data riferimento clear RIS_XYZ_Tot datarifNEW = datestr(firstdata_num{m+1,1},'yyyy-mm-dd'); % data riferimento definita sul sito for nw = 1:rRaL(m,1) NodeNum = num2str(NodoRadialLink(nw,m)); comando = ['select EventDate, EventTime, XShift, YShift, ZShift, X, Y, Z, '... 'from ElabDataView where EventDate = ''' datarifNEW ''' and ToolNameID = ''' char(toolrif) ... ''' and UnitName = ''' char(unitrif) ''' and NodeNum = ''' NodeNum ''' ']; curs = exec(conn,comando); curs = fetch(curs); DatiNEW = curs.Data; % dati registrati alla data di riferimento Num(nw,1) = NodoRadialLink(nw,m); [~,rC] = size(DatiNEW); if rC ~= 1 % dalla data di riferimento asseX(:,nw) = asseX(:,nw)-cell2mat(DatiNEW(1,3)); asseY(:,nw) = asseY(:,nw)-cell2mat(DatiNEW(1,4)); asseZ(:,nw) = asseZ(:,nw)-cell2mat(DatiNEW(1,5)); X_RL_Tot(:,nw) = X_RL_Tot-cell2mat(DatiNEW(:,6))+CoordX(nw,1)'; Y_RL_Tot(:,nw) = Y_RL_Tot-cell2mat(DatiNEW(:,7))+CoordY(nw,1)'; Z_RL_Tot(:,nw) = Z_RL_Tot-cell2mat(DatiNEW(:,8))+CoordZ(nw,1)'; RIS_XYZ_Tot(1,n) = (sqrt(asseX(end,n)^2 + asseY(end,n)^2+asseZ(end,n)^2))*1000; cX_Tot(1,n) = 100*abs(1000*diffX(1,n))/RIS_XYZ_Tot(1,n); cY_Tot(1,n) = 100*abs(1000*diffY(1,n))/RIS_XYZ_Tot(1,n); cZ_Tot(1,n) = 100*abs(1000*diffZ(1,n))/RIS_XYZ_Tot(1,n); else NODATA(m,1) = 1; end end end GI_Rad_XYZ = max(RIS_XYZ_Mese); ind = find(GI_Rad_XYZ==max(RIS_XYZ_Mese(1,:))); GI_Rad_Num = Num(ind(1)); GI_Rad_Date = Date; % Cerco eventuali correlazioni con Multibase NomeFile = strcat('Report',siteID,'-RLvsMPBEL.txt'); Filetesto = importdata(NomeFile); [rF,~] = size(Filetesto); AAA = 1; Var = 0; while AAA < rF check1 = Filetesto(AAA,1); if check1 == 99999 AAA = 2; else check2 = Filetesto(AAA+1,1); if check1 == str2num(DTcatena(end-2:end)) Nodo = Filetesto(AAA+2,1); Var = 1; elseif check2 == str2num(DTcatena(end-2:end)) Nodo = Filetesto(AAA+3,1); Var = 1; end AAA = AAA+4; end end if Var == 1 % Riabilitare le variabili sotto se vogliamo usare i % cumulati anzichè i locali % sX = dX'; % sTX = cumsum(sX); % sX = sTX'; % sY = dY'; % sTY = cumsum(sY); % sY = sTY'; % sZ = dZ'; % sTZ = cumsum(sZ); % sZ = sTZ'; GI_Rad_MPBEL = (sqrt(dX(:,Nodo).^2 + dY(:,Nodo).^2 + dZ(:,Nodo).^2))*1000; % ad ogni rad è associato al massimo un solo multibase end % Cerco eventuali correlazioni con Cir NomeFile = strcat('Report',siteID,'-TuLvsRL.txt'); Filetesto = importdata(NomeFile); [rF,~] = size(Filetesto); AAA = 1; Var = 0; while AAA < rF % Cerco coppie Cir - Rad check1 = Filetesto(AAA,1); if check1 == 99999 % Non ci sono Rad o non ci sono Cir AAA = 2; else check2 = Filetesto(AAA+1,1); if check1 == str2num(DTcatena(end-2:end)) % Il Cir è da prendere in considerazione ed è riportato nella prima riga del file Nodo = Filetesto(AAA+2,1); Var = 1; elseif check2 == str2num(DTcatena(end-2:end)) % Il Cir è da prendere in considerazione ed è riportato nella seconda riga del file Nodo = Filetesto(AAA+3,1); Var = 1; end AAA = AAA+4; end end if Var == 1 GI_Rad_Cir = (sqrt(dX(:,Nodo).^2 + dZ(:,Nodo).^2))*1000; %Più rad possono associarsi allo stesso cir end % Istogramma spostamenti 3D figure(1) [~,nn] = size(RIS_XYZ_Mese(end,:)); for w = 1:nn nodi_grafico(1,w) = w; end RIS_XYZ = [RIS_XYZ_Mese(end,:)' RIS_XYZ_Tot(end,:)']; Rad_3D = barh(nodi_grafico,RIS_XYZ); title('Risultante 3D degli spostamenti locali'); xlabel('Spostamento [mm]'); ylabel('Nodo [-]'); h = gca; h.XAxis.MinorTick = 'on'; h.YAxis.MinorTick = 'off'; Max(1) = max(RIS_XYZ_Mese); Max(2) = max(RIS_XYZ_Tot); MAX = max(Max); in = find(Max == MAX); if in == 1 POS = find(RIS_XYZ_Mese == Max(1)); else POS = find(RIS_XYZ_Tot == Max(2)); end if MAX < 10 % mm xlim([0 10]); end yticks(0:1:nn); grid on if POS > rRaL(m)/2 % Legenda in basso a dx legend('Periodo di riferimento','Intero periodo','Location','southeast'); else % legenda in alto a dx legend('Periodo di riferimento','Intero periodo','Location','northeast'); end TempName = char(strcat('Report',siteID,'-', char(toolrif),'Rad3D.png')); saveas(Rad_3D(1),TempName); ChartRad = Image(TempName); ChartRad.Style = {HAlign('justify'),ScaleToFit}; ChartRad_cap = Paragraph(['Fig. ' num2str(FIG) ' - Risultante 3D degli '... 'spostamenti differenziali locali nello spazio, registrati durante '... 'il periodo temporale di riferimento e l''intero monitoraggio']); FIG = FIG+1; ChartRad_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')}; %--ENG-- if activeEN == 1 figure(11) [~,nn] = size(RIS_XYZ_Mese(end,:)); for w = 1:nn nodi_grafico(1,w) = w; end RIS_XYZ = [RIS_XYZ_Mese(end,:)' RIS_XYZ_Tot(end,:)']; Rad_3D = barh(nodi_grafico,RIS_XYZ); title('3D Local displacements'); xlabel('Displacement [mm]'); ylabel('Node [-]'); h = gca; h.XAxis.MinorTick = 'on'; h.YAxis.MinorTick = 'off'; Max(1) = max(RIS_XYZ_Mese); Max(2) = max(RIS_XYZ_Tot); MAX = max(Max); in = find(Max == MAX); if in == 1 POS = find(RIS_XYZ_Mese == Max(1)); else POS = find(RIS_XYZ_Tot == Max(2)); end if MAX < 10 % mm xlim([0 10]); end yticks(0:1:nn); grid on if POS > rRaL(m)/2 % Legenda in basso a dx legend('Reference time period','Complete period','Location','southeast'); else % legenda in alto a dx legend('Reference time period','Complete period','Location','northeast'); end TempName = char(strcat('Report',siteID,'-', char(toolrif),'Rad3D_ENG.png')); saveas(Rad_3D(1),TempName); ChartRad_ENG = Image(TempName); ChartRad_ENG.Style = {HAlign('justify'),ScaleToFit}; ChartRad_ENG_cap = Paragraph(['Fig. ' num2str(FIG_ENG) ' - 3D local differential '... 'displacements, measured during the reference and '... 'the complete monitoring period']); FIG_ENG = FIG_ENG+1; ChartRad_ENG_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')}; end % --- Sezione - MESE --- contaS_Mese = 1; conta0_Mese = 1; for ris = 1:nn if RIS_XYZ_Mese(end,ris)> 0.5 nodiSX(contaS_Mese,1) = CoordX(ris,1); nodiSZ(contaS_Mese,1) = CoordZ(ris,1); contaS_Mese = contaS_Mese+1; else nodi0X(conta0_Mese,1) = CoordX(ris,1); nodi0Z(conta0_Mese,1) = CoordZ(ris,1); conta0_Mese = conta0_Mese+1; end end % Aggiungo ancora % --- Geometria Strumento - Mese --- figure(2) plot([0; CoordX(:,1)],[0;CoordZ(:,1)],'-','Color','black'); hold on if contaS_Mese > 1 sezC = plot(nodiSX(:,1),nodiSZ(:,1),'o','Color','red'); set(sezC, 'markerfacecolor', get(sezC, 'color')); end hold on if conta0_Mese > 1 sez0 = plot(nodi0X(:,1),nodi0Z(:,1),'o','Color','black'); set(sez0, 'markerfacecolor', get(sez0, 'color')); end ancora = plot(0,0,'s','Color','black','MarkerSize' ,13); set(ancora, 'markerfacecolor', get(ancora, 'color')); if sign(CoordX(ris,1)) == -1 Location = 'southeast'; else Location = 'southwest'; end if contaS_Mese > 1 && conta0_Mese > 1 legend('Geometria della strumentazione','Nodi con spostamenti','Nodi stabili','Location',Location); elseif contaS_Mese > 1 && conta0_Mese == 1 legend('Geometria della strumentazione','Nodi con spostamenti','Location',Location); elseif contaS_Mese == 1 && conta0_Mese > 1 legend('Geometria della strumentazione','Nodi stabili','Location',Location); end title('Spostamenti locali - periodo di riferimento'); xlabel('X [m]'); ylabel('Z [m]'); h = gca; h.XAxis.MinorTick = 'on'; h.YAxis.MinorTick = 'on'; grid off TempName = char(strcat('Report',siteID,'-', char(toolrif),'SezRAD-Mese.png')); saveas(ancora,TempName); ChartSEZ_Mese = Image(TempName); ChartSEZ_Mese.Style = {HAlign('center'),Height('6.5cm')}; %--ENG-- if activeEN == 1 figure(22) plot([0; CoordX(:,1)],[0;CoordZ(:,1)],'-','Color','black'); hold on if contaS_Mese > 1 sezC = plot(nodiSX(:,1),nodiSZ(:,1),'o','Color','red'); set(sezC, 'markerfacecolor', get(sezC, 'color')); end hold on if conta0_Mese > 1 sez0 = plot(nodi0X(:,1),nodi0Z(:,1),'o','Color','black'); set(sez0, 'markerfacecolor', get(sez0, 'color')); end ancora = plot(0,0,'s','Color','black','MarkerSize' ,13); set(ancora, 'markerfacecolor', get(ancora, 'color')); if sign(CoordX(ris,1)) == -1 Location = 'southeast'; else Location = 'southwest'; end if contaS_Mese > 1 && conta0_Mese > 1 legend('Array geometry','Nodes showing displacement','Stable nodes','Location',Location); elseif contaS_Mese > 1 && conta0_Mese == 1 legend('Array geometry','Nodes showing displacement','Location',Location); elseif contaS_Mese == 1 && conta0_Mese > 1 legend('Array geometry','Stable nodes','Location',Location); end title('Local Displacements - reference time period'); xlabel('X [m]'); ylabel('Z [m]'); h = gca; h.XAxis.MinorTick = 'on'; h.YAxis.MinorTick = 'on'; grid off TempName = char(strcat('Report',siteID,'-', char(toolrif),'SezRAD-Mese_ENG.png')); saveas(ancora,TempName); ChartSEZ_Mese_ENG = Image(TempName); ChartSEZ_Mese_ENG.Style = {HAlign('center'),Height('6.5cm')}; end % --- Geometria Strumento - Intero periodo --- % --- Sezione - TOT --- contaS_Tot = 1; conta0_Tot = 1; contaSX = 1; contaD = 1; contaT = 1; contaA = 1; contaB = 1; contaXZ = 1; contaG = 1; clear nodi0X clear nodi0Z clear nodiSX clear nodiSZ for ris = 1:nn % Ho aggiunto l'ancora if RIS_XYZ_Tot(end,ris)> 0.5 if cX_Tot(1,ris) > 70 % if sigX_Tot(1,ris) == 1 % Destra nodiD_X(contaD,1) = CoordX(ris,1); nodiD_Z(contaD,1) = CoordZ(ris,1); contaD = contaD+1; else % sinistra nodiS_X(contaSX,1) = CoordX(ris,1); nodiS_Z(contaSX,1) = CoordZ(ris,1); contaSX = contaSX+1; end elseif cY_Tot(1,ris) > 70 % Trasversale nodiT_X(contaT,1) = CoordX(ris,1); nodiT_Z(contaT,1) = CoordZ(ris,1); contaT = contaT+1; elseif cZ_Tot(1,ris) > 70 if sigZ_Tot(1,ris) == 1 % Verso l'alto nodiA_X(contaA,1) = CoordX(ris,1); nodiA_Z(contaA,1) = CoordZ(ris,1); contaA = contaA+1; else % Verso il basso nodiB_X(contaB,1) = CoordX(ris,1); nodiB_Z(contaB,1) = CoordZ(ris,1); contaB = contaB+1; end elseif cX_Tot(1,ris)+cZ_Tot(1,ris) > 70 % 45 gradi circa nodiXZ_X(contaXZ,1) = CoordX(ris,1); nodiXZ_Z(contaXZ,1) = CoordZ(ris,1); contaXZ = contaXZ+1; else % Moto Generico nodi_X(contaG,1) = CoordX(ris,1); nodi_Z(contaG,1) = CoordZ(ris,1); contaG = contaG+1; end nodiSX(contaS_Tot,1) = CoordX(ris,1); nodiSZ(contaS_Tot,1) = CoordZ(ris,1); contaS_Tot = contaS_Tot+1; else % Stabili nodi0X(conta0_Tot,1) = CoordX(ris,1); nodi0Z(conta0_Tot,1) = CoordZ(ris,1); conta0_Tot = conta0_Tot+1; end end figure(3) plot([0;CoordX(:,1)],[0;CoordZ(:,1)],'-','Color','black'); hold on % Spostamenti generici if contaG > 1 sezG = plot(nodi_X(:,1),nodi_Z(:,1),'o','Color','red'); set(sezG, 'markerfacecolor', get(sezG, 'color')); end % Spostamenti Alto if contaA > 1 sezA = plot(nodiA_X(:,1),nodiA_Z(:,1),'^','Color',[0.4660 0.6740 0.1880],'MarkerSize' ,7); set(sezA, 'markerfacecolor', get(sezA, 'color')); end % Spostamenti Basso if contaB > 1 sezB = plot(nodiB_X(:,1),nodiB_Z(:,1),'v','Color',[0.4660 0.6740 0.1880],'MarkerSize' ,7); set(sezB, 'markerfacecolor', get(sezB, 'color')); end % Spostamenti Destra if contaD > 1 sezD = plot(nodiD_X(:,1),nodiD_Z(:,1),'>','Color','blue','MarkerSize' ,7); set(sezD, 'markerfacecolor', get(sezD, 'color')); end % Spostamenti Sinistra if contaSX > 1 sezSX = plot(nodiS_X(:,1),nodiS_Z(:,1),'<','Color',[0.3010 0.7450 0.9330],'MarkerSize' ,7); set(sezSX, 'markerfacecolor', get(sezSX, 'color')); end % Spostamenti 45° if contaXZ > 1 sezXZ = plot(nodiXZ_X(:,1),nodiXZ_Z(:,1),'x','Color',[0.8500 0.3250 0.0980],'MarkerSize' ,13); set(sezXZ, 'markerfacecolor', get(sezXZ, 'color')); end % Sensori Fermi if conta0_Tot > 1 sez0 = plot(nodi0X(:,1),nodi0Z(:,1),'o','Color','black'); set(sez0, 'markerfacecolor', get(sez0, 'color')); end ancora = plot(0,0,'s','Color','black','MarkerSize' ,13); set(ancora, 'markerfacecolor', get(ancora, 'color')); if sign(CoordX(ris,1)) == -1 Location = 'southeast'; else Location = 'southwest'; end if contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti verso destra',... 'Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto',... 'Spostamenti verso destra','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D',... 'Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D',... 'Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso sinistra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D','Location',Location); elseif contaG > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D','Nodi stabili',... 'Location',Location); elseif contaG > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in basso',... 'Spostamenti verso sinistra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D','Location',Location); elseif contaG > 1 && contaA > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto',... 'Spostamenti verso sinistra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto',... 'Spostamenti verso destra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto',... 'Spostamenti verso destra','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D',... 'Nodi stabili','Location',Location); elseif contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D',... 'Nodi stabili','Location',Location); elseif contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in alto',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D',... 'Nodi stabili','Location',Location); elseif contaA > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso sinistra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti in alto','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D','Location',Location); elseif contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in basso','Spostamenti verso sinistra',... 'Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti in basso',... 'Spostamenti verso destra','Spostamenti verso sinistra','Spostamenti a 2D','Location',Location); elseif contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti verso destra','Spostamenti verso sinistra',... 'Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti verso sinistra',... 'Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti verso destra',... 'Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaG > 1 && contaB > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in basso','Nodi stabili','Location',Location); elseif contaG > 1 && contaD > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti verso destra','Nodi stabili','Location',Location); elseif contaG > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti verso sinistra','Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Spostamenti in basso',... 'Nodi stabili','Location',Location); elseif contaG > 1 && contaA > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti in alto','Nodi stabili','Location',Location); elseif contaG > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti a 2D',... 'Nodi stabili','Location',Location); elseif contaG > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti 3D','Spostamenti a 2D','Location',Location); elseif contaG > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti 3D','Nodi stabili','Location',Location); elseif contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti verso destra',... 'Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti verso destra','Spostamenti verso sinistra',... 'Nodi stabili','Location',Location); elseif contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti verso destra','Spostamenti verso sinistra',... 'Spostamenti a 2D','Location',Location); elseif contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti verso sinistra',... 'Spostamenti a 2D','Nodi stabili','Location',Location); elseif contaSX > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti verso sinistra',... 'Nodi stabili','Location',Location); elseif contaSX > 1 && contaXZ > 1 legend('Geometria della strumentazione','Spostamenti verso sinistra',... 'Spostamenti a 2D','Location',Location); elseif contaXZ > 1 && conta0_Tot > 1 legend('Geometria della strumentazione','Spostamenti a 2D','Nodi stabili','Location',Location); elseif conta0_Tot > 1 legend('Geometria della strumentazione','Nodi stabili','Location',Location); elseif contaG > 1 legend('Geometria della strumentazione','Spostamenti 3D','Location',Location); elseif contaA > 1 legend('Geometria della strumentazione','Spostamenti in alto','Location',Location); elseif contaB > 1 legend('Spostamenti in basso','Location',Location); elseif contaD > 1 legend('Geometria della strumentazione','Spostamenti verso destra','Location',Location); elseif contaSX > 1 legend('Geometria della strumentazione','Spostamenti verso sinistra','Location',Location); elseif contaXZ > 1 legend('Geometria della strumentazione','Spostamenti a 2D','Location',Location); end title('Spostamenti locali - intero periodo'); xlabel('X [m]'); ylabel('Z [m]'); h = gca; h.XAxis.MinorTick = 'on'; h.YAxis.MinorTick = 'on'; grid off TempName = char(strcat('Report',siteID,'-', char(toolrif),'SezRAD-Tot.png')); saveas(ancora,TempName); ChartSEZ = Image(TempName); ChartSEZ.Style = {HAlign('center'),Height('6.5cm')}; ChartSEZ_cap = Paragraph(['Fig. ' num2str(FIG) ' - Riassunto grafico della '... 'situazione rilevata dai singoli nodi, con riferimento alla risultante '... 'del vettore di spostamento 3D differenziale locale, '... 'registrato durante il periodo temporale di riferimento e l''intero periodo di monitoraggio']); FIG = FIG+1; ChartSEZ_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')}; lot = Table({ChartSEZ_Mese, ChartSEZ}); lot.Style = {ResizeToFitContents(false), Width('100%')}; %--ENG-- if activeEN == 1 figure(33) plot([0;CoordX(:,1)],[0;CoordZ(:,1)],'-','Color','black'); hold on % Spostamenti generici if contaG > 1 sezG = plot(nodi_X(:,1),nodi_Z(:,1),'o','Color','red'); set(sezG, 'markerfacecolor', get(sezG, 'color')); end % Spostamenti Alto if contaA > 1 sezA = plot(nodiA_X(:,1),nodiA_Z(:,1),'^','Color',[0.4660 0.6740 0.1880],'MarkerSize' ,7); set(sezA, 'markerfacecolor', get(sezA, 'color')); end % Spostamenti Basso if contaB > 1 sezB = plot(nodiB_X(:,1),nodiB_Z(:,1),'v','Color',[0.4660 0.6740 0.1880],'MarkerSize' ,7); set(sezB, 'markerfacecolor', get(sezB, 'color')); end % Spostamenti Destra if contaD > 1 sezD = plot(nodiD_X(:,1),nodiD_Z(:,1),'>','Color','blue','MarkerSize' ,7); set(sezD, 'markerfacecolor', get(sezD, 'color')); end % Spostamenti Sinistra if contaSX > 1 sezSX = plot(nodiS_X(:,1),nodiS_Z(:,1),'<','Color',[0.3010 0.7450 0.9330],'MarkerSize' ,7); set(sezSX, 'markerfacecolor', get(sezSX, 'color')); end % Spostamenti 45° if contaXZ > 1 sezXZ = plot(nodiXZ_X(:,1),nodiXZ_Z(:,1),'x','Color',[0.8500 0.3250 0.0980],'MarkerSize' ,13); set(sezXZ, 'markerfacecolor', get(sezXZ, 'color')); end % Sensori Fermi if conta0_Tot > 1 sez0 = plot(nodi0X(:,1),nodi0Z(:,1),'o','Color','black'); set(sez0, 'markerfacecolor', get(sez0, 'color')); end ancora = plot(0,0,'s','Color','black','MarkerSize' ,13); set(ancora, 'markerfacecolor', get(ancora, 'color')); if sign(CoordX(ris,1)) == -1 Location = 'southeast'; else Location = 'southwest'; end if contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Rightward displacements',... 'Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Rightward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements',... 'Rightward displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements',... 'Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements',... 'Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Leftward displacements','2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Rightward displacements','2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements','Location',Location); elseif contaG > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements',... 'Rightward displacements','Leftward displacements','2D displacements','Stable nodes',... 'Location',Location); elseif contaG > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Downwards displacements',... 'Leftward displacements','2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Downwards displacements',... 'Rightward displacements','2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Array geometry','3D displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements','Location',Location); elseif contaG > 1 && contaA > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements',... 'Leftward displacements','2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements',... 'Rightward displacements','2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements',... 'Rightward displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Array geometry','3D displacements','Upwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Upwards displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements',... 'Stable nodes','Location',Location); elseif contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements',... 'Stable nodes','Location',Location); elseif contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Upwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements',... 'Stable nodes','Location',Location); elseif contaA > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Upwards displacements','Downwards displacements',... 'Leftward displacements','2D displacements','Stable nodes','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Upwards displacements','Downwards displacements',... 'Rightward displacements','2D displacements','Stable nodes','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','Upwards displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Array geometry','Upwards displacements','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements','Location',Location); elseif contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Downwards displacements','Leftward displacements',... '2D displacements','Stable nodes','Location',Location); elseif contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Downwards displacements',... 'Rightward displacements','2D displacements','Stable nodes','Location',Location); elseif contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','Downwards displacements',... 'Rightward displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Array geometry','Downwards displacements',... 'Rightward displacements','Leftward displacements','2D displacements','Location',Location); elseif contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Rightward displacements','Leftward displacements',... '2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Leftward displacements',... '2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Rightward displacements',... '2D displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaB > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Downwards displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaD > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Rightward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Leftward displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && contaB > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Downwards displacements',... 'Stable nodes','Location',Location); elseif contaG > 1 && contaA > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Upwards displacements','Stable nodes','Location',Location); elseif contaG > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','2D displacements',... 'Stable nodes','Location',Location); elseif contaG > 1 && contaXZ > 1 legend('Array geometry','3D displacements','2D displacements','Location',Location); elseif contaG > 1 && conta0_Tot > 1 legend('Array geometry','3D displacements','Stable nodes','Location',Location); elseif contaD > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Rightward displacements',... '2D displacements','Stable nodes','Location',Location); elseif contaD > 1 && contaSX > 1 && conta0_Tot > 1 legend('Array geometry','Rightward displacements','Leftward displacements',... 'Stable nodes','Location',Location); elseif contaD > 1 && contaSX > 1 && contaXZ > 1 legend('Array geometry','Rightward displacements','Leftward displacements',... '2D displacements','Location',Location); elseif contaSX > 1 && contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','Leftward displacements',... '2D displacements','Stable nodes','Location',Location); elseif contaSX > 1 && conta0_Tot > 1 legend('Array geometry','Leftward displacements',... 'Stable nodes','Location',Location); elseif contaSX > 1 && contaXZ > 1 legend('Array geometry','Leftward displacements',... '2D displacements','Location',Location); elseif contaXZ > 1 && conta0_Tot > 1 legend('Array geometry','2D displacements','Stable nodes','Location',Location); elseif conta0_Tot > 1 legend('Array geometry','Stable nodes','Location',Location); elseif contaG > 1 legend('Array geometry','3D displacements','Location',Location); elseif contaA > 1 legend('Array geometry','Upwards displacements','Location',Location); elseif contaB > 1 legend('Downwards displacements','Location',Location); elseif contaD > 1 legend('Array geometry','Rightward displacements','Location',Location); elseif contaSX > 1 legend('Array geometry','Leftward displacements','Location',Location); elseif contaXZ > 1 legend('Array geometry','2D displacements','Location',Location); end title('Local displacements - complete monitoring period'); xlabel('X [m]'); ylabel('Z [m]'); h = gca; h.XAxis.MinorTick = 'on'; h.YAxis.MinorTick = 'on'; grid off TempName = char(strcat('Report',siteID,'-', char(toolrif),'SezRAD-Tot_ENG.png')); saveas(ancora,TempName); ChartSEZ_ENG = Image(TempName); ChartSEZ_ENG.Style = {HAlign('center'),Height('6.5cm')}; ChartSEZ_ENG_cap = Paragraph(['Fig. ' num2str(FIG_ENG) ' - Graphical summary of '... 'single nodes behaviour, with reference to 3D local '... 'differential displacements recorded during the '... 'reference and the complete monitoring period']); FIG_ENG = FIG_ENG+1; ChartSEZ_ENG_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')}; lotEN = Table({ChartSEZ_Mese_ENG, ChartSEZ_ENG}); lotEN.Style = {ResizeToFitContents(false), Width('100%')}; end sezRAD = Heading3('Radial Link'); sezRAD.Style = {FontSize(Font_tools),Bold(1),Italic(1)}; RA = Section(); RA.Title = sezRAD; % Testi relativi all'ultimo mese testo1 = Paragraph(['Il grafico riportato di seguito mostra l''entit' char(224) ' '... 'dei vettori di spostamento differenziale locale 3D, misurati dai sensori Radial Link '... 'nel periodo temporale di riferimento e nell''intero periodo di monitoraggio. '... 'Il vettore ' char(232) ' ottenuto come risultante delle componenti nel piano X-Y-Z, '... 'ovvero larghezza, profondit' char(224) ' ed altezza della sezione. ']); testo2 = Paragraph(['La figura seguente riassume la situazione registrata dall''Array, con i '... 'singoli sensori rappresentati sulla geometria di progetto della strumentazione. Nel periodo '... 'temporale di riferimento, l''analisi degli spostamenti ha evidenziato ' ... num2str(contaS_Mese-1) ' nodi con spostamenti e ' num2str(conta0_Mese-1) ' nodi stabili. '... 'Si noti che in questa rappresentazione vengono considerati stabili i nodi caratterizzati '... 'da uno spostamento con modulo inferiore a 0.5 mm.']); spazio = Paragraph(''); testo1.HAlign = 'justify'; testo2.HAlign = 'justify'; add(DT,sezRAD); add(DT,testo1); add(DT,ChartRad); add(DT,ChartRad_cap); add(DT,testo2); add(DT,spazio); add(DT,lot); add(DT,ChartSEZ_cap); add(DT,br); close(figure(1)); close(figure(2)); close(figure(3)); if attivaEN == 1 sezRAD_ENG = Heading3('Radial Link'); sezRAD_ENG.Style = {FontSize(Font_tools),Bold(1),Italic(1)}; RA_ENG = Section(); RA_ENG.Title = sezRAD; % Testi relativi all'ultimo mese testo1 = Paragraph(['The following graph reports the 3D local '... 'differential displacements measrued by Radial Link sensors '... 'during the reference and complete monitoring period. '... 'The 3D displacement vector derives from X-Y-Z displacement components, '... 'respectively representing length, depth, and height of the section. ']); testo2 = Paragraph(['The following figure summarized the situation recorded by the Array, '... 'representing each sensor on the instrumentation non-deformed geometry. During the '... 'reference time period, the Rad Array presented ' ... num2str(contaS_Mese-1) ' nodes showing displacements and ' num2str(conta0_Mese-1) ' stable nodes. '... 'In this specific representation, nodes featuring displacement values less than 0.5 mm '... 'are assumed to be stable.']); spazio = Paragraph(''); testo1.HAlign = 'justify'; testo2.HAlign = 'justify'; add(DT_ENG,sezRAD_ENG); add(DT_ENG,testo1); add(DT_ENG,ChartRad_ENG); add(DT_ENG,ChartRad_ENG_cap); add(DT_ENG,testo2); add(DT_ENG,spazio); add(DT_ENG,lotEN); add(DT_ENG,ChartSEZ_ENG_cap); add(DT_ENG,br); close(figure(11)); close(figure(22)); close(figure(33)); end else if ATTIVA == 1 testo = Paragraph('Non sono presenti dati relativi al periodo temporale considerato.'); ATTIVA = 0; add(DT,testo); check = 1; if activeEN == 1 testo = Paragraph('No data available for the reference time period.'); add(DT,testo); end end end end end text = 'report_RaL function executed correctly'; fprintf(fileID,fmt,text); fclose(fileID); end