%Příklad čislo 4
clc 
clear
numElements = 1; %Počet prutu stejného typu
numNodes = 4; %Počet uzlu
numDOFpernode =3; %Stupeň volnosti uzlu
numDOF = numNodes * numDOFpernode; %Stupeň volnosti celé konstrukce
K_global = zeros (numDOF, numDOF); %Globalní matice tuhosti
%Sestavení globalní matice tuhosti celé konstrukce
for i=1:numElements
   K_vector{i} = T_matice'*vetknuti_kloub*T_matice
   K_global ([1 2 3 4 5 6],[1 2 3 4 5 6]) = K_global ([1 2 3 4 5 6],[1 2 3 4 5 6]) + K_vector{i}
        for j=1:numElements
           K_vector{j} = kloub_vetknuti
           K_global ([4 5 6 7 8 9],[4 5 6 7 8 9]) = K_global ([4 5 6 7 8 9],[4 5 6 7 8 9]) + K_vector{j} 
              for k=1:numElements
                 K_vector{k} = T_matice'*vetknuti_vetknuti*T_matice
                 K_global ([7 8 9 10 11 12],[7 8 9 10 11 12]) = K_global ([7 8 9 10 8 9],[7 8 9 10 11 12]) + K_vector{k} 
              end
        end
end
%Sestavení localního vektoru primarních koncových účinků
numqElements = 1;
R_local_prim = zeros (numDOF, 1);

for i=1:numqElements
   R_vector{i} = q_zatizeni_110_111
   R_local_prim ([4 5 6 7 8 9],[1]) = R_local_prim ([4 5 6 7 8 9],[1]) + R_vector{i} 
   % localní souřadný system = globalní souřadný system
end

%Sestavení globalního vektoru uzlového zatížení
S_global= zeros (numDOF, 1);

%Sestavení vektoru pravé strany
F_global = S_global-R_local_prim;

%Vypočet neznamých parametrů deformaci
numDeformation = 5 % počet neznamých parametrů deformaci
K = zeros (numDeformation,numDeformation);

K ([1], [1 2 3 4 5]) = K_global ([4], [4 5 7 8 9]);
K ([2], [1 2 3 4 5]) = K_global ([5], [4 5 7 8 9]);
K ([3], [1 2 3 4 5]) = K_global ([7], [4 5 7 8 9]);
K ([4], [1 2 3 4 5]) = K_global ([8], [4 5 7 8 9]);
K ([5], [1 2 3 4 5]) = K_global ([9], [4 5 7 8 9]);

F = zeros(numDeformation,1);
F ([1],[1]) = R_local_prim ([4],[1]);
F ([2],[1]) = R_local_prim ([5],[1]);
F ([3],[1]) = R_local_prim ([7],[1]);
F ([4],[1]) = R_local_prim ([8],[1]);
F ([5],[1]) = R_local_prim ([9],[1]);

r = zeros(numDeformation,1);
r(1:5) = K(1:5,1:5)\F(1:5)

%Sestavení globalního vektoru parametrů deformaci

r_global = zeros(numDOF,1);
r_global([1],[1])= 0
r_global([2],[1])= 0
r_global([3],[1])= 0
r_global([4],[1])= r([1],[1])
r_global([5],[1])= r([2],[1])
r_global([6],[1])= 0
r_global([7],[1])= r([3],[1])
r_global([8],[1])= r([4],[1])
r_global([9],[1])= r([5],[1])
r_global([10],[1])= 0
r_global([11],[1])= 0
r_global([12],[1])= 0
