%Příklad čislo 5 model_2
clc 
clear
numElements = 1; %Počet prutu stejného typu
numNodes = 4; %Počet uzlu
numDOFpernode =3; %Stupeň volnosti uzlu
numDOF = numNodes * numDOFpernode+1; %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_vetknuti*T_matice
   K_global ([1 2 3 4 5 7],[1 2 3 4 5 7]) = K_global ([1 2 3 4 5 7],[1 2 3 4 5 7]) + K_vector{i}
        for j=1:numElements
           K_vector{j} = posuvne_vetknuti_vetknuti
           K_global ([4 6 7 8 9 10],[4 6 7 8 9 10]) = K_global ([4 6 7 8 9 10],[4 6 7 8 9 10]) + K_vector{j} 
              for k=1:numElements
                 K_vector{k} = T_matice'*vetknuti_vetknuti*T_matice
                 K_global ([8 9 10 11 12 13],[8 9 10 11 12 13]) = K_global ([8 9 10 11 12 13],[8 9 10 11 12 13]) + 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} = T_matice'*q_zatizeni_111_111
    R_local_prim ([1 2 3 4 5 7],[1]) = R_local_prim ([1 2 3 4 5 7],[1]) + R_vector{i} 
        for j=1:numqElements
           R_vector{j} = q_zatizeni_101_111
           R_local_prim ([4 6 7 8 9 10],[1]) = R_local_prim ([4 6 7 8 9 10],[1]) + R_vector{j} 
        end
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 = 6 % počet neznamých parametrů deformaci
K = zeros (numDeformation,numDeformation);

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


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]);
F ([6],[1]) = R_local_prim ([10],[1]);


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

