AW: Programmergebnise verschieden auf zwei Rechnern
Hallo,
für alle: Ich berechne Belastungen (Kraft [N]) für bestimmte Bauteile. Die sollten am Ende in einem Bereich von kN liegen. Das Programm funktioniert so, dass man Bauteilgeometrien einträgt und mit der hinterlegten Methode die Belastung herausbekommt. Da die Bauteile sehr komplex sind, ist die Methode entsprechend komplex und kompliziert und das macht imho keinen Sinn das hier alles aufzuschreiben, zumal die Methode zwecks Untersuchung auf Fehler sehr zerlegt ist. @Bra: Wie groß kann ich nachher erst definitiv sagen, wenn ich jede Variable einzeln inspiziert habe ^^ Vielen Dank schonmal für eure Hilfe. Ich melde mich wieder, wenn ich weitergekommen bin :( |
AW: Programmergebnise verschieden auf zwei Rechnern
Ok, dann sollten die Ergebnisse eigentlich gleich sein. Mysteriös. Dann noch andere Überlegungen:
Zuerst würde ich eine ganz einfache und simple Berechnung mit einem kleinen Ergebnis das definitiv im grünen Bereich sein sollte. Wenn das dann bei beiden Rechner gleich ist, dann scheint es wirklich mit den Typen Double, Integer o.ä. zu tun zu haben was überschritten wird. Dann würde ich hier den Fehler suchen. Wie sieht es denn mit Komazahlen aus? Z.B. bei der Eingabe (, oder .) oder evtl. auch während der Berechnungen; Werden dort die Zahlen irgendwie hin- und her formatiert? (Bei dem es vielleicht von System zu System unterschiedlich sein kann). Oder gibt es vielleicht eine Stelle an der "künstlich" (alla als String) irgendwas verschoben wird, ein Koma, Leerzeichen o.ä. eingefügt. Könnte vielleicht auch die Eingabezahlen missinterprediert werden (z.B. ein Buchstabe wird irgendwie als Zahl umgewandelt und damit gerechnet). Oder andere Überlegungen, wenn die Zahlen nicht händisch eingegeben werden, kommen auch wirklich die selben Zahlen bei beiden Systemen an? Ein Schuss ins blaue: gibt es auf dem System, bei dem die Ergebnisse falsch sind, eine Software, die evtl. an dem Programm rumfummeln könnte? (Antivirensoftware o.ä.) Werden die Zwischenergebnisse irgendwo zwischengespeichert? Wenn ja wo und wie? Gleiche Typen usw.? |
AW: Programmergebnise verschieden auf zwei Rechnern
Zitat:
|
AW: Programmergebnise verschieden auf zwei Rechnern
Kann es sein, dass du ein numerisch schlecht konditioniertes Problem mit einem Algorithmus löst, der dafür nicht so gut geeignet ist?
Bei einem instabilen Algorithmus können die paar zusätzlichen Bits eines Extended beitragen, dass dennoch sinnvolle und halbwegs akkurate Ergebnisse herauskommen. Typischer Anfängerfehler wäre bspw. ein FE-Problem mit einem einfachen Gaußverfahren zu lösen. |
AW: Programmergebnise verschieden auf zwei Rechnern
Hallo Physikerin,
ich denke es macht nicht viel Sinn, weiter "Topfschlagen" zu veranstalten. Was man m.E. ausschließen kann - Extended vs. Double (weil dein Programm ein 32Bit Programm ist, und somit Extended auch wirklich Extended ist) - Unterschiedliche ControlWords (weil das ControlWord vom Programm selbst definiert wird) Bleibt also p80286: Das klingt wie einer von den Standardfehlern "Initialisierung durch Zufall". stell doch mal das Programm (incl. komplettem Source Code) ins Forum. Vielleicht hat der eine oder andere Lust und Zeit sich da durchzuarbeiten und zu prüfen, ob wirklich überall mit definierten Variablen gearbeitet wird. Lokale Variablen, so sie denn nicht ausdrücklich definiert werden, haben z.B. "Zufallswerte". |
AW: Programmergebnise verschieden auf zwei Rechnern
Zitat:
Zitat:
|
AW: Programmergebnise verschieden auf zwei Rechnern
Hallo,
wie sieht es denn aus mit nicht initialisierten Variablen? Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz