![]() |
Subtraktion mit DECMath bringt Probleme
Hallo,
ich habe folgendes Problem:
Delphi-Quellcode:
Kann mir einer schnell erklären, wie diese Zahl zustandekommt? Da sollte ja eigentlich irgendwas mit s = 0.48... rauskommen.
t ist ungefähr 0.012
s ist genau 0.5 NSub(s,t); s ist 5146823... irgendwas, zumindest nichts sinnvolles. Würde mich über schnelle Antworten sehr sehr freuen, da ich das für eine Arbeit brauche, die ich zu Freitag abzuliefern habe, und das eigentlich heute fertigstellen möchte :( /e: Hab mich entschlossen, dass etwas mehr Kontext nicht Schaden kann:
Delphi-Quellcode:
Das Ganze soll der Berechnung von Pi dienen. Die Listbox ist, wie sich unschwer erkennen lässt, nur zur Überprüfung.
var
i: Integer; a,b,s,t,y,l: IRational; begin Listbox1.Items.Add('---------Prolog---------'); NSet(a, 1); NSet(l,NRat(1.411)); NSqrt(l); Listbox1.Items.Add('l = '+NStr(l)); NDiv(b, NRat(1), l); NSet(s, 0.5); NSet(t, 0); Listbox1.Items.Add('a = '+NStr(a)); Listbox1.Items.Add('b = '+NStr(b)); Listbox1.Items.Add('s = '+NStr(s)); Listbox1.Items.Add('t = '+NStr(t)); Listbox1.Items.Add('---------Iteration---------'); for i:= 1 to 3 do begin NSet(y,a); // y = a Listbox1.Items.Add('y = '+NStr(y)); NAdd(a, b); // a = a+b NDiv(a, 2); // a = a/2 Listbox1.Items.Add('a = '+NStr(a)); NMul(b,y); // b = b*y NSqrt(b); // b = sqrt(b) Listbox1.Items.Add('b = '+NStr(b)); NSub(l,a,y); // l = a - y Listbox1.Items.Add('l = '+NStr(l)); NPow(t, l, 2); // t = l^2 Listbox1.Items.Add('t = '+NStr(t)); NPow(l, NRat(2), i); Listbox1.Items.Add('l = '+NStr(l)); NMul(t, l); // t = t*l Listbox1.Items.Add('t = '+NStr(t)); NSub(s,t); Listbox1.Items.Add('s = '+NStr(s)); Listbox1.Items.Add('--Fertig mit Schritt '+IntToStr(i)); end; Listbox1.Items.Add('---------Epilog---------'); NAdd(a, b); Listbox1.Items.Add('a = '+NStr(a)); NPow(a, 2); Listbox1.Items.Add('a = '+NStr(a)); NMul(s, 2); Listbox1.Items.Add('s = '+NStr(s)); NDiv(a, s); Listbox1.Items.Add('a = '+NStr(a)); Listbox1.Items.Add('Pi = '+NStr(a)); end; |
Re: Subtraktion mit DECMath bringt Probleme
Ok, kann es sein, dass NAdd, NSub und noch nen paar andere Sachen noch nicht implementiert wurden?
Die geben mir immer fehlerhafte Ergebnisse :( |
Re: Subtraktion mit DECMath bringt Probleme
Probier einfach eine ältere DECMath funktion. Ich denke allerdins das Hagen die DECMath schon vollständig implementiert hat bevor er sie herausgibt ;)
Zitat:
Delphi-Quellcode:
Benutzerfreundlichkeit ist alles ;)
for i:=1 to spinedit1.value
//edit: kenn mich nicht mit dem DECMath aus aber vllt musst du deine Zahlenvariablen zuerst (für Speicher etc.) initialisieren. |
Re: Subtraktion mit DECMath bringt Probleme
Zitat:
|
Re: Subtraktion mit DECMath bringt Probleme
Tja, das tut mir wirklich vierfach leid
1.) NSub() in den IRational hat wirklich einen Fehler 2.) NAdd() ist ebenfalls fehlerhaft 3.) ich muß zugeben das ich bei den letzten Umstellungen IRational vernachlässigt habe 4.) ich danke dir das du den Fehler gefunden hast, was ja schon fast sarkastisch klingt sorry, sorry, sorry, sorry ;) Gib mir deine EMail und ich sende dir die korregierte Version, sie liegt schon hier. Gruß Hagen |
Re: Subtraktion mit DECMath bringt Probleme
Könntst du mir auch ein Päckchen für meine Homepage schnüren? ;)
|
Re: Subtraktion mit DECMath bringt Probleme
50% sind schon versendet, dauert halt bei meinem DSL ;)
Gruß Hagen |
Re: Subtraktion mit DECMath bringt Probleme
Zitat:
|
Re: Subtraktion mit DECMath bringt Probleme
Hatte ich schon probiert im ersten Posting anzuhängen. Kannst mir glauben wie frustriert erstaunt ich war als nach 10 Minuten und dem kompletten Upload von 6.4 Mb meinte das mein Attachment ein bischen größer als 3 Mb sei ;)
Gruß Hagen |
Re: Subtraktion mit DECMath bringt Probleme
Das find ich aber klasse, dass es schon eine korrigierte Version gibt :)
blabla ist meine Adresse, wäre nett wenn du sie schicken könntest, bzw Luckie sie bei sich hochlädt und ich sie mir dort runterladen kann. Bin schon richtig deprimiert, weil ich hier nichts an laufen bekomme. Hab schon alles ausprobiert, diverse versuche mit deiner Lib, etwa 3000 Sachen in C++, aber nicht wollte wie ich will. Und Freitag ist schon Abgabetermin /o\ /E: Wenns gleich bei Luckie on ist, nimm ich mal meine Mailaddi raus, muss ja nicht unnötig verbreitet werden :) /E2: Gnihi, ich kann Luckie beim Upload zugucken :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz