Einstiegsbeispiel zum Differenzenverfahren, Lösung mit Matlab,
Gleichungssystem mit voll besetzter Matrix

Aufgabe

Beispiel 1

Für den skizzierten Träger mit konstanter Biegesteifigkeit EI ist die Durchbiegung näherungsweise mit dem Differenzenverfahren zu bestimmen.

Gegeben:   a ;  q0 ;  EI = konstant .

Einteilung in 4 Abschnitte

Im Kapitel "Computer-Verfahren für Biegeprobleme" des Lehrbuchs "Dankert/Dankert: Technische Mechanik" wird gezeigt, dass sich bei der (sehr groben) Einteilung des Trägers in nur nA = 4 Abschnitte (nebenstehende Skizze) folgendes Gleichungssystem mit n = 9 unbekannten Vertikalverschiebungen v1, ... ,v9 (einschließlich der "Außenpunkte") ergibt:

Bei einer feineren Diskretisierung (größerer Wert für nA) behält das sich dann vergrößernde Gleichungssystem seine grundsätzliche Struktur bei. In der Koeffizientenmatrix gibt es nur mehr Gleichungen vom "1 -4 6 -4 1"-Typ, im Vektor der rechten Seite ändern sich die Zahlenwerte entsprechend dem geänderten nA. Insgesamt sind es immer n = nA+5 Gleichungen.

Demonstration Speicherung am einfachen Beispiel

Zunächst wird das Gleichungssystem mit 9 Unbekannten in einem Matlab-Script erzeugt, um die Speicherung der Koeffizientenmatri zu demonstrieren:

% Gleichungssystem des Einstiegsbeispiels

clear all

A = [0 0  1 0  0 0  0 0  0 ;
     0 -1  0 1  0 0  0 0  0 ;
     1 -4  6 -4  1 0  0 0  0 ;
     0 1 -4 6 -4 1  0 0  0 ;
     0 0  1 -4  6 -4  1 0  0 ;
     0 0  0 1 -4 6 -4 1  0 ;
     0 0  0 0  1 -4  6 -4  1 ;
     0 0  0 0 -1 2  0 -2  1 ;
     0 0  0 0  0 1 -2 1  0 ] ;
 
b = [  0   ;
       0   ;
     1/256 ;
     1/256 ;
     1/256 ;
     1/256 ;
     1/256 ;
       0   ;
       0   ] ;
  
v = A\b 

Nach dem Abarbeiten des links zu sehenden Scripts S261_1.m findet man das Ergebnis im "Command Window" (Bild rechts).

Speicherung für beliebig großes Gleichungssystem

Das folgende Script S261_2.m zeigt die Definition des beliebig großen Gleichungssystems in den wenigen hellblauen Zeilen. Die Möglichkeit unterschiedlich feiner Unterteilung des Trägers wird nur über die Angabe des Wertes für nA (in der weißen Zeile am Anfang) gesteuert.

% 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

% Lösen des Gleichungssystems
v = A \ b ;                    % Berechnung der Durchsenkung

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'
)

Nach der Lösung des Gleichungssystems werden mit den Zeilen, die nicht mit einem Semikolon abgeschlossen sind, drei Ergebnisse in das "Command Window" ausgegeben: Verschiebung am Trägerende und der Biegewinkel an dieser Stelle, der mit Hilfe der Differenzenformel für die erste Ableitung aus den Verschiebungen der beiden Nachbarpunkte berechnet wird, sowie das auf entsprechende Weise mit der Näherung der zweiten Ableitung berechnete Biegemoment an der Einspannung. Schließlich wird in einer Schleife der gesamte Biegemomentenverlauf berechnet, und Durchbiegung und Biegemomentenverlauf werden in ein Graphik-Fenster gezeichnet. Für die oben gelistete Datei (mit nA = 100) sehen nach der Berechnng das "Command Window" und das Graphik-Fenster so aus:

    

Um die Aufgabe für unterschiedlich feine Diskretisierung zu berechnen, muss in der oben gelisteten m-Datei jeweils nur der Wert für nA geändert werden.