Sync from remote server: 2025-10-12 18:56:41

This commit is contained in:
2025-10-12 18:56:59 +02:00
commit 7e8ee264aa
553 changed files with 161447 additions and 0 deletions

49
ATD/CalcoloBiax_RL.m Executable file
View File

@@ -0,0 +1,49 @@
function [X_RL,Y_RL,Z_RL,asseX_RL,asseY_RL,asseZ_RL] = CalcoloBiax_RL(SpeRL,...
ii,jj,ax,ay,asseX_RL,asseY_RL,asseZ_RL,X_RL,Y_RL,Z_RL,elab_option)
%% RAD-Array parete di DESTRA
if elab_option == 1
% Spostamento lungo l'asse X registrato dal nodo i
Xi = -1*SpeRL(ii,1) * ay(ii,jj); % -1 per adattare il verso (da destra verso sx!)
% calcolo il coseno dell'angolo di inclinazione
cosBetaX = (1 - ay(ii,jj).^2).^0.5;
% Spostamento lungo l'asse Z registrato dal nodo i
Zi = -1*SpeRL(ii)*cosBetaX; % -1 per adattare il segno di CosBeta. Az infatti sarebbe negativo
% Spostamento lungo l'asse Y registrato dal nodo i
if jj==1
Yi = -1 * Zi * ax(ii,jj);
else
Yi = -1 * asseZ_RL(ii,jj-1) * ax(ii,jj);
end
%% RAD-Array parete di SINISTRA
elseif elab_option == -1
% Spostamento lungo l'asse X registrato dal nodo i
Xi = SpeRL(ii,1) * ay(ii,jj);
% calcolo il coseno dell'angolo di inclinazione
cosBetaX = (1 - ay(ii,jj).^2).^0.5;
% Spostamento lungo l'asse Z registrato dal nodo i
Zi = -1*SpeRL(ii)*cosBetaX; % -1 per adattare il segno di CosBeta. Az infatti sarebbe negativo
% Spostamento lungo l'asse Y registrato dal nodo i
if jj==1
Yi = Zi * ax(ii,jj);
else
Yi = asseZ_RL(ii,jj-1) * ax(ii,jj);
end
end
% Matrici singoli spostamenti
asseX_RL(ii,jj) = Xi;
asseY_RL(ii,jj) = Yi;
asseZ_RL(ii,jj) = Zi;
if ii==1
X_RL(ii,jj) = asseX_RL(ii,jj);
Y_RL (ii,jj) = asseY_RL(ii,jj);
Z_RL (ii,jj) = asseZ_RL(ii,jj);
else
X_RL(ii,jj) = X_RL(ii-1,jj) + asseX_RL(ii,jj); % Matrici cumulate
Y_RL(ii,jj) = Y_RL(ii-1,jj) + asseY_RL(ii,jj);
Z_RL(ii,jj) = Z_RL(ii-1,jj) + asseZ_RL(ii,jj);
end
end