PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tangensbrerechnung in TP extremst ungenau, was tun?


Poison Nuke
02.09.2002, 21:05
Hi,

leider bietet Turbo Pascal kein Tangens direkt an, sondern man muss ihn mit sin(x)/cos(x) brechnen.

Wenn ich jetzt z.B. in einem rechtwinkligen Dreieck einen Wert berechnen muss, dann kommen bei TP extremst falsche Werte heraus.

Ich habe schon mehrere Testproggis erstellt und jedesmal die Gleichung mal mit dem Taschenrechner nachgeprüft. Aber jedesmal kamen immer völlig andere Werte heraus. Bei einigen best. Zahlen kommen sogar Ergebnisse heraus, die 1. negativ und 2. um ein tausendfaches zu groß.

Könnt ihr mir einen Tipp geben, wie ich das bei TP wieder gradebiege?


Felix Kaiser
02.09.2002, 21:08
Eigentlich arbeiten die Routinen genauso genau wie Taschenrechner, nur muss man aufpassen: Der Taschenrechner kommt mit Winkeln UND mit Bogenmaßen klar. Das FPU nicht. Glaube es wird alles mit Bogenmaßen gerechnet. Musste mir damals als ich ähnliche Probleme mit Kreisen hatte in Delphi mir ne Umrechnungsroutine basteln Winkel <-> Bogenmaß.

Poison Nuke
02.09.2002, 22:11
Danke für den Hinweis.

Daran hätte ich überhaupt nicht gedacht, dass der nur im Bogenmaß rechnet. Denn wenn ich das ganze jetzt mit dem Taschenrechner im Bogenmaß nachrechen passiert exakt der gleiche "Mist" :D

Also werde ich mal ne Bogenmaßfunction bauen müssen.

Lord_Otter
03.09.2002, 09:51
function Bogen(grad: Extended): Extended;
begin
Bogen :=grad*PI/180;
end;

Ist nicht viel Aufwand !;)

Poison Nuke
03.09.2002, 14:14
@ Lordotter

thx,

eine ähnliche Funktion hatte ich heute schon in meiner Ethik Stunde rausbekommen und jetzt habe ich nochmal eine Bestätigung, das sie richtig ist ;).