% 18     Computer-Verfahren für Biegeprobleme  S.265
% 18.1   Das Differenzenverfahren
% 18.1.2 Biegelinie bei konstanter Biegesteifigkeit
% Beispiel 2
% MATLAB 6.0 R12
% Author: Corinna Winter
% Rev.: Dr. Thomas Frischgesell
% Datum: 24.4.03

clear all

LL      = 1;     % Länge
q1      = 1;     % Streckenlast
EI      = 1;     % Biegesteifigkeit  
lambda  = 2;
F       = lambda*q1*LL;     % Kraft


nA      =100;    % Anzahl der Abschnitte in die der Träger eingeteilt wird
k=nA+5;          % Knotenanzahl
deltax = LL/nA;  % Elementlänge

A=zeros(k,k);    % Erstellung einer Matrix A gefüllt mit Nullen

A(1:2,1:5)    =[0 0 1 0 0 ; ...
                0 -1 0 1 0];         % Randbedingung: Einspannung links
A(k-1:k,k-4:k)=[0 0 1 0 0 ; ...
                0 1 -2 1 0];         % Randbedingung: Lager rechts

for i=3:k-2                          % Beschreibung der Matrix A in einer Schleife mit
    A(i,i-2:i+2)=[1 -4 6 -4 1];      % dem wiederkehrenden Teilstück 1 -4 6 -4 1
end

mitte = (k+1)/2;
A(mitte,mitte-2:mitte+2)=[0 0 1 0 0];  % Korrektur der Matrix A: Lager in der Mitte

b=zeros(k,1);
q=zeros(k,1);
q(mitte:k-2) = 0:q1/(LL/2/deltax):q1; 

for i=mitte:k-2
    b(i,1)=q(i)*deltax^4/EI; % Beschreibung des Vektors b an der Stelle der 
                             % Streckenlast qi ( q1*l^4/(E*I) wurden im Buch ausgeklammert)
end      

b(nA/4+3)=F/deltax*deltax^4/EI;  % Verteilung der Kraft F auf einen Abschnitt 
                                 % ( q1*l^4/(E*I) wurde ausgeklammert)

% Lösen des Gleichungssystems 
v=inv(A)*b;                      % Berechnung der Durchsenkung
clf;
x = 0:deltax:LL;
plot (x,-v(3:k-2))                 % Ausdrucken der Biegelinie
%grid on
ylabel('Verschiebung (mm)')
xlabel('Normierte Balkenlänge')

ErgebnisKnoten28 = v(28)
ErgebnisKnoten78 = v(78)
