662 lines
36 KiB
Matlab
Executable File
662 lines
36 KiB
Matlab
Executable File
function [GI_Rad_XYZ,GI_Rad_Num,GI_Rad_MPBEL,GI_Rad_Cir,GI_Rad_Date,ATTIVA,FIG] = report_RaL_ENG(...
|
|
DTcatena,rRaL,m,NodoRadialLink,toolrif,unitrif,datarif,firstdata_num,Font_caption,...
|
|
Font_tools,siteID,DT,FIG,br,colonna2,colonna2bis,status,ATTIVA,conn,FileName)
|
|
|
|
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('Array not installed or inactive.');
|
|
add(DT,testo);
|
|
end
|
|
check = 1;
|
|
elseif status(m,1) == 3
|
|
if ATTIVA == 1
|
|
ATTIVA = 0;
|
|
testo = Paragraph(['Monitoring completed. Please log into the web-based platoform '...
|
|
'to access the complete dataset.']);
|
|
add(DT,testo);
|
|
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 3D displacements
|
|
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('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 monitoring period','Location','southeast');
|
|
else % legenda in alto a dx
|
|
legend('Reference time period','Complete monitoring period','Location','northeast');
|
|
end
|
|
TempName = char(strcat('Report',siteID,'-', char(toolrif),'Rad3D_ENG.png'));
|
|
saveas(Rad_3D(1),TempName);
|
|
ChartRad = Image(TempName);
|
|
ChartRad.Style = {HAlign('justify'),ScaleToFit};
|
|
ChartRad_cap = Paragraph(['Fig. ' num2str(FIG) ' - 3D local differential '...
|
|
'displacements recorded by the 3D MEMS sensor during the reference time period '...
|
|
'and the complete monitoring period']);
|
|
FIG = FIG+1;
|
|
ChartRad_cap.Style = {HAlign('justify'),FontSize(Font_caption),Italic(1),Color('midnightblue')};
|
|
|
|
% --- 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('Array geometry','Moving nodes','Stable nodes','Location',Location);
|
|
elseif contaS_Mese > 1 && conta0_Mese == 1
|
|
legend('Array geometry','Moving nodes','Location',Location);
|
|
elseif contaS_Mese == 1 && conta0_Mese > 1
|
|
legend('Array geometry','Stable nodes','Location',Location);
|
|
end
|
|
title('Local displacements - reference time priod');
|
|
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 = Image(TempName);
|
|
ChartSEZ_Mese.Style = {HAlign('center'),Height('6.5cm')};
|
|
|
|
% --- 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('Array geometry','3D displacements','Upward displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Right direction shift',...
|
|
'Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward displacements','Downward displacements',...
|
|
'Right direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaB > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward displacements','Downward displacements',...
|
|
'Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward displacements',...
|
|
'Right direction shift','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','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','Upward displacements',...
|
|
'Right direction shift','Left direction shift','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','Upward displacements','Downward displacements',...
|
|
'Left direction shift','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','Upward displacements','Downward displacements',...
|
|
'Right direction shift','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','Upward displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1
|
|
legend('Array geometry','3D displacements','Upward displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements','Location',Location);
|
|
elseif contaG > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements','Stable nodes',...
|
|
'Location',Location);
|
|
elseif contaG > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Downward displacements',...
|
|
'Left direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Downward displacements',...
|
|
'Right direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1
|
|
legend('Array geometry','3D displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward displacements',...
|
|
'Left direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward displacements',...
|
|
'Right direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward displacements',...
|
|
'Right direction shift','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1
|
|
legend('Array geometry','3D displacements','Upward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements','Location',Location);
|
|
elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Upward displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements',...
|
|
'Stable nodes','Location',Location);
|
|
elseif contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Downward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements',...
|
|
'Stable nodes','Location',Location);
|
|
elseif contaA > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Upward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements',...
|
|
'Stable nodes','Location',Location);
|
|
elseif contaA > 1 && contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Upward displacements','Downward displacements',...
|
|
'Left direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaA > 1 && contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Upward displacements','Downward displacements',...
|
|
'Right direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Upward displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaA > 1 && contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1
|
|
legend('Array geometry','Upward displacements','Downward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements','Location',Location);
|
|
elseif contaB > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Downward displacements','Left direction shift',...
|
|
'2D displacements','Stable nodes','Location',Location);
|
|
elseif contaB > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Downward displacements',...
|
|
'Right direction shift','2D displacements','Stable nodes','Location',Location);
|
|
elseif contaB > 1 && contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Downward displacements',...
|
|
'Right direction shift','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaB > 1 && contaD > 1 && contaSX > 1 && contaXZ > 1
|
|
legend('Array geometry','Downward displacements',...
|
|
'Right direction shift','Left direction shift','2D displacements','Location',Location);
|
|
elseif contaD > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Right direction shift','Left direction shift',...
|
|
'2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Left direction shift',...
|
|
'2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaD > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Right direction shift',...
|
|
'2D displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaB > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Downward displacements','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaD > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Right direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Left direction shift','Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && contaB > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward displacements','Downward displacements',...
|
|
'Stable nodes','Location',Location);
|
|
elseif contaG > 1 && contaA > 1 && conta0_Tot > 1
|
|
legend('Array geometry','3D displacements','Upward 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','Right direction shift',...
|
|
'2D displacements','Stable nodes','Location',Location);
|
|
elseif contaD > 1 && contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Right direction shift','Left direction shift',...
|
|
'Stable nodes','Location',Location);
|
|
elseif contaD > 1 && contaSX > 1 && contaXZ > 1
|
|
legend('Array geometry','Right direction shift','Left direction shift',...
|
|
'2D displacements','Location',Location);
|
|
elseif contaSX > 1 && contaXZ > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Left direction shift',...
|
|
'2D displacements','Stable nodes','Location',Location);
|
|
elseif contaSX > 1 && conta0_Tot > 1
|
|
legend('Array geometry','Left direction shift',...
|
|
'Stable nodes','Location',Location);
|
|
elseif contaSX > 1 && contaXZ > 1
|
|
legend('Array geometry','Left direction shift',...
|
|
'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','Upward displacements','Location',Location);
|
|
elseif contaB > 1
|
|
legend('Downward displacements','Location',Location);
|
|
elseif contaD > 1
|
|
legend('Array geometry','Right direction shift','Location',Location);
|
|
elseif contaSX > 1
|
|
legend('Array geometry','Left direction shift','Location',Location);
|
|
elseif contaXZ > 1
|
|
legend('Array geometry','2D displacements','Location',Location);
|
|
end
|
|
|
|
title('Local displacemets - 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 = Image(TempName);
|
|
ChartSEZ.Style = {HAlign('center'),Height('6.5cm')};
|
|
ChartSEZ_cap = Paragraph(['Fig. ' num2str(FIG) ' - Graphical illsutration '...
|
|
'of each single node behaviour, based on the 3D local differential displacement vector, recorded '...
|
|
'during the reference time period and the complete monitoring period']);
|
|
|
|
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%')};
|
|
|
|
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(['The following graph presents the 3D local differential displacement vectors '...
|
|
'recorded by Radial Links during the reference time period and the complete monitoring period. '...
|
|
'The 3D vector is computed as a resultant of X-Y-Z component vectors, corresponding to width, depth and height '...
|
|
'of the monitored section, respectively.']);
|
|
testo2 = Paragraph(['The corresponding figure summarizes the behaviour of the Array, '...
|
|
'by representing each single node on the original configuration of the tool. During the '...
|
|
'reference time period, the analysis highlighted ' ...
|
|
num2str(contaS_Mese-1) ' nodes featuring displacements and ' num2str(conta0_Mese-1) ' stable nodes. '...
|
|
'In this specific representation, nodes characterized by displacement values less than 0.5 mm '...
|
|
'are assumed as stable']);
|
|
|
|
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));
|
|
else
|
|
if ATTIVA == 1
|
|
testo = Paragraph('No data available for the reference time period.');
|
|
ATTIVA = 0;
|
|
add(DT,testo);
|
|
check = 1;
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
text = 'report_RaL_ENG function executed correctly';
|
|
fprintf(fileID,fmt,text);
|
|
fclose(fileID);
|
|
|
|
end |