AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Programmergebnise verschieden auf zwei Rechnern
Thema durchsuchen
Ansicht
Themen-Optionen

Programmergebnise verschieden auf zwei Rechnern

Ein Thema von Physikerin · begonnen am 10. Mär 2016 · letzter Beitrag vom 12. Mär 2016
Antwort Antwort
Seite 4 von 4   « Erste     234   
Physikerin

Registriert seit: 18. Feb 2016
9 Beiträge
 
Delphi 10.1 Berlin Professional
 
#31

AW: Programmergebnise verschieden auf zwei Rechnern

  Alt 11. Mär 2016, 09:06
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
  Mit Zitat antworten Zitat
Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#32

AW: Programmergebnise verschieden auf zwei Rechnern

  Alt 11. Mär 2016, 12:03
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.?
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#33

AW: Programmergebnise verschieden auf zwei Rechnern

  Alt 11. Mär 2016, 13:12
Zuerst würde ich eine ganz einfache und simple Berechnung mit einem kleinen Ergebnis das definitiv im grünen Bereich sein sollte.
Wenn wir schon einmal bei Herangehensweisen sind, hier mein Vorschlag:
  1. Suche dir möglichst kleine Eingabedaten, bei denen das Problem auftritt.
  2. Baue ein Programm was diese Rechnung ausführt.
  3. Schreibe wichtige Zwischenergebnisse, aber auch regelmäßig Sachen wie das Kontrollregister raus.
    Dazu am besten die Aufrufe der unterschiedlichen Programm-/Methodenbestandteile: einfach deren Namen als String, evtl. mit Parametern, aber nichtdeterministisches wie Adressen weglassen.
  4. Da dein Programm deterministisch sein sein soll, sollte der erzeugte Trace auf beiden Rechnern identisch sein.
  5. Da er das offensichtlich nicht sein wird, kannst du mithilfe der zusätzlichen Informationen den Fehler weiter eingrenzen.

Geändert von BUG (11. Mär 2016 um 16:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#34

AW: Programmergebnise verschieden auf zwei Rechnern

  Alt 11. Mär 2016, 16:25
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.
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#35

AW: Programmergebnise verschieden auf zwei Rechnern

  Alt 11. Mär 2016, 17:31
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".
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#36

AW: Programmergebnise verschieden auf zwei Rechnern

  Alt 11. Mär 2016, 20:01
stell doch mal das Programm (incl. komplettem Source Code) ins Forum
Den Beiträgen nach ist das nichts, was man mal so ins Forum stellt (oder wo das Sinn machen würde)

ich denke es macht nicht viel Sinn, weiter "Topfschlagen" zu veranstalten
Gab ja auch nach dem "Ich guck mir das mal weiter an." (heute) keine weiteren Meldung, also können wir mit dem herum raten aufhören
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#37

AW: Programmergebnise verschieden auf zwei Rechnern

  Alt 12. Mär 2016, 18:41
Hallo,
wie sieht es denn aus mit nicht initialisierten Variablen?


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 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