KragtraegerStatUnbestDas auf der Basis der Finite-Elemente-Methode erzeugte Gleichungssystem für den nebenstehend skizzierten Träger wird auf der Seite "Matlab: Probleme mit singulären Matrizen (1)" benutzt, um zu testen, ob die direkten Verfahren zur Lösung von Gleichungssystemen die Singularität der Koeffizientenmatrix erkennen (der Träger ist nicht ausreichend gelagert, deshalb ist die Koeffizientenmatrix natürlich singulär).

Hier soll dieser Test mit iterativen Verfahren durchgeführt werden, wobei nur das kleinste mögliche Gleichungssystem betrachtet werden soll: Ein einziges finites Element erzeugt ein Gleichungssystem mit vier Unbekannten. Auch hier werden (willkürlich) die (sinnvollen) Zahlenwerte

l = 1000 mm   ,   EI = 2·1010 Nmm2   ,   q0 = 2 N/mm

für den Aufbau des Gleichungssystems angenommen. Im nachfolgend zu sehenden Matlab-Script wird das Gleichungssystem mit einer Matlab-Femset-Function in Zeile 4 aufgebaut. Die Koeffizientenmatrix wird in Zeile 8 ausgegeben::

SingulTest202

In den Zeilen 10 bis 14 wird versucht, das Gleichungssystem mit 5 verschiedenen Iterationsverfahren zu lösen:

Im Command Window findet man folgende Ausschriften:

SingulTest2CW2

Fazit: Das Erkennen der Singularität bei numerischer Rechnung ist schwierig (siehe: "Schwieriges Problem: Singularität erkennen"). Die iterativen Verfahren reagieren in der Regel so, wie es sich oben am "Mini-Beispiel" (mit Ausnahme der KonjugGrad-Function) zeigte: Sie konvergieren nicht. Für den Anwender ist es schwierig bis unmöglich zu entscheiden, ob nur schlechte Konvergenz vorliegt, der gegebenenfalls mit Präkonditionierung und/oder einer größeren Anzahl zulässiger Iterationsschritte begegnet werden könnte, oder ob die Matrix tatsächlich singulär ist.

Zum Download verfügbar sind das abgebildete Matlab-Script und die daraus aufgerufenen Function bzw. DLL:
 
SingulTest2.m, syswbc_m.dll und SymBand2Quad.m. Die Function KonjugGrad.m steht über den Link
http://www.mathematik.uni-kassel.de/~meister/buch_online zur Verfügung.