|
|
Lösung geht gegen unendlich bei zu vielen Stützstellen. |
|
jojo1234 |
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.06.2013, 12:54
Titel: Lösung geht gegen unendlich bei zu vielen Stützstellen.
|
|
Hallo,
ich habe eine Frage bzgl. des Differenzenverfahrens. Ist es normal, dass bei zu großer Stützstellenanzahl die Lösung irgendwas macht, nur nicht mehr gegen den exakten Wert konvergiert oder passiert das nur, wenn es falsch programmiert ist.
MfG,
Joachim
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.06.2013, 13:48
Titel:
|
|
Hallo,
"Differenzenverfahren" kann je nach Anwendung sehr unterschiedliche Dinge bedeuten. Bitte genauer erklären, um welche Art Differenzenverfahren es geht.
Grüße,
Harald
|
|
|
jojo1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.06.2013, 19:16
Titel:
|
|
Hallo Harald,
ich habe die zentralen Differenzenformeln verwendet um die DGL zu approximieren.
y'(x)=1/(2*dx)*(yi+1-yi-1)
y''(x)=1/dx^2*(yi+1-2*yi+yi-1)
y'''(x)=1/(2*dx^3)*(yi+2-2*yi+1+2*yi-1-yi-2)
y''''(x)=1/dx^4*(yi+2-4*yi+1+6*yi-4*yi-1+yi-2)
Bei der DGL handelt es sich um:
y''''+L*y''=0
dx steht für die Schrittweite. Als Vergleich diente mit der 1. Eulerfall.
MfG,
Joachim
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.06.2013, 22:35
Titel:
|
|
Hallo,
Differenzenquotienten werden für sehr kleine Schrittweiten instabil, da dann etwa gleich große Zahlen voneinander abgezogen werden und es somit zur Auslöschung kommt.
Ein kleines Beispiel:
2.8588 0.14056
2.7319 0.013637
2.7196 0.0013596
2.7184 0.00013592
2.7183 1.3591e-05
2.7183 1.3585e-06
2.7183 1.3551e-07
2.7183 -5.1012e-08 <-- bis hierhin ist alles gut
2.7183 -2.2865e-07 <-- es wird trotz kleinerer Schrittweite schlechter
2.7183 -2.8932e-06
2.7183 -1.1775e-05
2.7183 -1.1775e-05 <-- und schlechter
2.7134 -0.0048968
2.6645 -0.053747 <-- ziemlich miserabel
2.6645 -0.053747
0 -2.7183
Grüße,
Harald
P.S.: bei den Formeln solltest du die Indizes in Klammern setzen. Sonst ist das etwas verwirrend ;)
|
|
|
jojo1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.06.2013, 11:50
Titel:
|
|
Herzlichen Dank für die schöne Erklärung Harald, hat sich mein Verdacht also bestätigt.
P.S.: Nächstes Mal setze ich die Indizes in Klammern. =)
MfG,
Joachim
|
|
|
jojo1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.06.2013, 14:06
Titel:
|
|
Harald ich hätte noch eine Frage.
Ich habe ein lineares Gleichungssystem, in dem mehrere abhängige Gleichungen vorkommen. Gibt es einen Matlabbefehl, der mir das Gleichungssystem verkleinert oder müsste ich dies per Hand machen.
MfG, Joachim
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.06.2013, 14:09
Titel:
|
|
Hallo,
ich kann mir das nicht so ganz vorstellen. In welchem Sinne "verkleinern"? Vielleicht hilft ein Beispiel?
Grüße,
Harald
|
|
|
jojo1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.06.2013, 21:02
Titel:
|
|
Hi Harald,
entschuldige, dass ich erst so spät antworte. Ich hatte viel zu tun am Wochenende. Hier mein Beispiel:
Ich habe 3 Gleichungen mit 5 Unbekannten, die Unbekannten hängen aber über Rand- und Übergangsbedingungen voneinander ab. Anstatt diese jetzt per Hand in die Gleichungen zu integrieren, erweitere ich einfach das Gleichungssystem um 2 Gleichungen und mache so aus einer 3x5 Matrix eine 5x5 Matrix. Jetzt zum Thema was ich mit "verkleinern" meinte. Ist Matlab in der Lage die zusätzlichen Gleichungen einzusetzen und die Matrix auf 3x3 runterzubrechen oder kann ich das nur per Hand machen?
MfG,
Joachim
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.06.2013, 21:53
Titel:
|
|
Hallo,
ein konkretes Beispiel könnte mir helfen, das zu verstehen - bis jetzt klappts nicht ;) Insbesondere: welcher Gestalt sind diese "Rand- und Übergangsbedingungen"?
Grüße,
Harald
|
|
|
jojo1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2013, 18:39
Titel:
|
|
Hi Harald,
hier einmal ganz konkret mit Zahlen.
Gleichungen:
v0+2*v1-v2+4*v3=0
v1+3*v2+v3=0
Bedingungen:
v0=0
v3-v1=0
Matrix mit Gleichungen:
A=
[1 2 -1 4;
0 1 3 1]; 2x4 Matrix, nicht lösbar.
Wird jetzt erweitert um Bedingungen:
A'=
[1 2 -1 4;
0 1 3 1;
1 0 0 0;
0 -1 0 1]; 4x4 Matrix ist lösbar.
Per Hand kann ich durch einsetzten der Bedingungen, dass Gleichungssystem auf eine 2x2 Matrix runterbrechen.
A''=
[6 -1;
2 3];
Nun wieder zu meiner Frage, kann Matlab mir das Einsetzten per Hand abnehmen und das GLS verkleinern?
MfG, Joachim
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.06.2013, 19:23
Titel:
|
|
Hallo,
ich verstehe offen gesagt nicht, warum du zwischen Gleichungen und Bedingungen unterscheidest. Die Bedingungen sind doch im Grunde auch nur Gleichungen?
Dieses Einsetzen kann ich mir nur über symbolische Berechnungen vorstellen. Allerdings verstehe ich nach wie vor nicht den tieferen Sinn des ganzen.
Grüße,
Harald
|
|
|
jojo1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2013, 19:44
Titel:
|
|
Würde mich einfach nur interessieren, da kleinere Matrizen einfach schöner zum rechnen sind. Aber vielleicht rechne ich auch einfach nur zu viel analytisch.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.06.2013, 19:49
Titel:
|
|
Hallo,
was heißt "schöner zu rechnen"? Schneller?
MATLAB löst 1000 Gleichungen mit 1000 Unbekannten in weniger als 1 Sekunde. Besteht da wirklich Bedarf, das zu verbessern?
Grüße,
Harald
|
|
|
jojo1234 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 12.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.06.2013, 16:33
Titel:
|
|
Ne auf keinen Fall. Ich wollte auch mit meiner letzten Antwort nur aussagen, dass ich daran halt noch nicht so gewöhnt bin, da ich normalerweise alles vereinfache, so weit es möglich ist. Das man das bei Matlab nicht braucht, daran muss ich mich erst noch gewöhnen.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|