Sync from remote server: 2025-10-12 18:56:41
This commit is contained in:
662
ATD/report_RaL_ENG.m
Executable file
662
ATD/report_RaL_ENG.m
Executable file
@@ -0,0 +1,662 @@
|
||||
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
|
||||
Reference in New Issue
Block a user