%Příklad čislo 3
%Model čislo 3
clc 
clear
numElements = 1; %Počet prutu stejného typu
numNodes = 3; %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} = vetknuti_posuvne_vetknuti
   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} = 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} 
        end
end
%Sestavení globalního vektoru primarních koncových účinků
numqElements = 1;
numFElements = 1;
R_global = zeros (numDOF, 1);

for i=1:numqElements
   R_vector{i} = q_zatizeni_111_101
   R_global ([1 2 3 4 5 7],[1]) = R_global ([1 2 3 4 5 7],[1]) + R_vector{i}
        for j=1:numFElements
           R_vector{j} = F_zatizeni_111_111
           R_global ([4 6 7 8 9 10],[1]) = R_global ([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_global;

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

K ([1], [1 2 3]) = K_global ([4], [4 6 7]);
K ([2], [1 2 3]) = K_global ([6], [4 6 7]);
K ([3], [1 2 3]) = K_global ([7], [4 6 7]);

F = zeros(numDeformation,1);
F ([1],[1]) = R_global ([4],[1]);
F ([2],[1]) = R_global ([6],[1]);
F ([3],[1]) = R_global ([7],[1]);

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

%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])= 0 
r_global([6],[1])= r([2],[1])
r_global([7],[1])= r([3],[1])
r_global([8],[1])= 0
r_global([9],[1])= 0
r_global([10],[1])= 0


%Sestavení lokalního vektoru sekundarních koncových sil
R_global_sek = zeros (numDOF, 1);
R_global_sek = K_global*r_global;

%Sestavení vektoru celkových koncových sil
R_total = R_global + R_global_sek;
