PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MatLab Fehlermeldungen ... need Help


radi
2005-12-23, 14:25:35
Von der Uni ham wir die aufgabe nen einfaches Fachwerk zu kontruieren und da haben die ein Prog für matlab zur verfügung gestellt.

Da gibt man dann n paar knoten und stäbe plus kräfte ein und am ende sollten die berechneten stabkräfte rauskommen, aber bei mir steht immer nur NaN da und es kommt: Warning: Matrix singular to working precision!

Was mache ich falsch. evtl gibts ja hier jemand der davon Ahnung hat!

Grüße!

nordic_pegasus
2005-12-23, 14:47:45
Matrix singular

das bedeutet doch, das die Determinante der Matrix gleich Null ist, was zum Lösen des Gleichungsystems nicht sonderlich gut ist. Fast alle numerischen Programme wie Matlab lösen Matrizen mit der Determinaten-Methode.
Mein Statik-Übungsleiter hat uns immer erzählt, das er bei alten Statik-Programmen oft eine Stunde lang Zahlen eintippen durfte, und wenn dann "singulär" raus kam, war alles fürn Popo ;)

Entweder hast Du die Werte falsch eingegeben, oder Du sollst genau auf dieses Problem stossen... Oder Matlab rechnet nicht korrekt, aber die Meldung klingt eher danach, das einfach die Matrix nicht lösbar ist.

Juerg
2005-12-23, 18:06:37
Ich glaube das ist falsch verstanden worden...

Dies ist eine Warnung, dass die Rechengenauigkeit nahezu erreicht ist oder wird und deshalb numerische Instabilitäten auftreten können.
http://groups.google.ch/group/comp.soft-sys.matlab/browse_thread/thread/9f1ae128f96a946e/1e3d03c37d1844bd%231e3d03c37d1844bd?sa=X&oi=groupsr&start=0&num=3


Du kannst vielleicht die Matrix mit "pinv" lösen:

Pseudoinverses
Rectangular matrices do not have inverses or determinants. At least one of the equations AX = I and XA = I does not have a solution. A partial replacement for the inverse is provided by the Moore-Penrose pseudoinverse, which is computed by the pinv function:
http://www.mathworks.com/access/helpdesk/help/techdoc/math/mat_linalg19.html#pseudoinverses

edit:

Ach so... sie haben das Programm zu Verfügung gestellt. Ja dann verwende mal andere Längen, Winkel und/oder Kräfte.

edit2:
Du kannst die Warnung auch unterdrücken lassen:

Evaluating inv on zero displays a warning message. Turn off the most recently invoked warning with warning off last.

inv(0)
Warning: Matrix is singular to working precision.
ans =
Inf

warning off last

inv(0) % No warning is displayed this time
ans =
Inf

http://www.mathworks.com/access/helpdesk_r13/help/techdoc/matlab_prog/ch1_mf50.html

radi
2005-12-25, 18:57:14
ok danke!

evtl ist mein fachwerk auch garnicht bestimmt *duck* werd mal schauen!