L1 = 6.0; L2 = 6.0;
q1 = 20.0; q2 = 20.0;
EI = 1.0;

% Eleman 1 (A-B) rijitlik matrisi - dogrudan satir ici (fonksiyon yok,
% cunku betik-ici yerel fonksiyonlar Octave'da ve bazi MATLAB surumlerinde
% .m dosyasi olarak DOGRUDAN calistirildiginda calismiyor - bu platform
% tarafindan Octave ile test edilip dogrulandi, 05.08.2026)
k1 = EI/L1^3 * [ 12      6*L1     -12      6*L1;
                 6*L1    4*L1^2   -6*L1    2*L1^2;
                -12     -6*L1      12     -6*L1;
                 6*L1    2*L1^2   -6*L1    4*L1^2 ];

% Eleman 2 (B-C) rijitlik matrisi
k2 = EI/L2^3 * [ 12      6*L2     -12      6*L2;
                 6*L2    4*L2^2   -6*L2    2*L2^2;
                -12     -6*L2      12     -6*L2;
                 6*L2    2*L2^2   -6*L2    4*L2^2 ];

% Sabit-uc kuvvetleri (fixed-end forces), UDL icin
fef1 = [ q1*L1/2; q1*L1^2/12; q1*L1/2; -q1*L1^2/12 ];
fef2 = [ q2*L2/2; q2*L2^2/12; q2*L2/2; -q2*L2^2/12 ];

% Global sistem: 3 dugum x 2 DOF (v, theta) = 6 serbestlik derecesi
K = zeros(6,6); F = zeros(6,1);

dof1 = [1 2 3 4];
K(dof1, dof1) = K(dof1, dof1) + k1;

dof2 = [3 4 5 6];
K(dof2, dof2) = K(dof2, dof2) + k2;

F(dof1) = F(dof1) - fef1;
F(dof2) = F(dof2) - fef2;

% Sinir sartlari: v1=v2=v3=0, MATLAB 1-indeksli oldugu icin donme DOF'lari [2 4 6]
free = [2 4 6];
d_free = K(free, free) \ F(free);

d = zeros(6,1);
d(free) = d_free;

R = K*d - F;
fprintf('RA = %.1f kN, RB = %.1f kN, RC = %.1f kN\n', R(1), R(3), R(5));
fprintf('Toplam = %.1f kN\n', R(1)+R(3)+R(5));
