% Differenzenverfahren, Beispiel auf den Seiten 260 bis 262

clear all

L  = 1 ;
q0 = 1 ;
EI = 1 ;
nA = 100    ;       % Anzahl der Abschnitte (nur dieser Wert muss geaendert werden)
n  = nA + 5 ;       % Anzahl der Gleichungen
h  = L / nA ;

A  = zeros (n,n) ;  % Nullmatrix
b  = zeros (n,1) ;  % Nullvektor

A(1:2,1:5)     = [ 0  0  1  0 0  ; ...
                   0 -1  0  1 0] ;       % Randbedingungen links: Einspannung
A(n-1:n,n-4:n) = [-1  2  0 -2 1  ; ...
                   0  1 -2 1 0]  ;       % Randbedingungen rechts: Freier Rand

for i = 3:n-2                          
    A(i,i-2:i+2)= [1 -4 6 -4 1] ;         % Standardgleichungen
    b(i)        = q0*h^4/EI     ;
end

t1 = cputime ;
v = A \ b ;    % Loesen des Gleichungssystems (Berechnung der Durchbiegung v)
ZeitGlSyst = cputime - t1

format long
vEnd    = v(n-2)
phiEnd  = (-v(nA+2) + v(nA+4)) / (2*h)
Mblinks = -EI/h^2 * (v(2) - 2*v(3) + v(4))

for i = 3:n-2
    Mb(i) = - EI/h^2 * (v(i-1) - 2*v(i) + v(i+1)) ; 
end

z = 0 : h : L ;
subplot (2 , 1 , 1) ; plot (z , v (3:n-2)) , axis ij , title ('Verschiebung')
subplot (2 , 1 , 2) ; plot (z , Mb(3:n-2)) , title ('Biegemoment')