AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sinus/Cosinus Funktionen

Ein Thema von JASH · begonnen am 15. Jan 2004 · letzter Beitrag vom 16. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von JASH
JASH

Registriert seit: 19. Dez 2003
16 Beiträge
 
Delphi 7 Architect
 
#1

Sinus/Cosinus Funktionen

  Alt 15. Jan 2004, 22:29
Komme mit der Delphi-Hilfe und den entsprechenden Funktionen nicht wirklich weiter. Hab zwar ne Sinus-Funktion gefunden,
Delphi-Quellcode:
var

  R: Extended;
  S: string;
begin
  R := Sin(Pi);
  Str(R:5:3, S);
  Canvas.TextOut(10, 10, 'The Sin of Pi is ' + S);
end;
aber wenn ich da Winkelwerte eintrage komme ich zu komplett anderen Ergebnissen als mit dem Taschenrechner.

Habe auch auf etlichen Seiten nachgesehen sowie die Hilfe benutzt, aber dieses Thema ist nirgendwo zu finden, hoffe mal ihr könnt mir weiterhelfen.

JASH
Aus Fehlern lernt man, folglich gilt also "Desto mehr Fehler man macht desto mehr lernt man"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Sinus/Cosinus Funktionen

  Alt 15. Jan 2004, 22:34
Musst du erst von Deg nach Rad umrechnen. DegToRad und zurück mit RadToDeg ist auch in der Unit Math drin.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#3

Re: Sinus/Cosinus Funktionen

  Alt 15. Jan 2004, 22:37


Die Hilfe
Sin gibt den Sinus des mit X angegebenen Winkels im Bogenmaß (Rad) zurück . . .

Hast du deinen TI auf Bogenmass eingestellt?

Wenn ich den Sinus von
pi im Bogenmass nehme krieg ich 0.
pi° aber, also Gradmass gibt 0.054

2pi im Bogenmass entspricht 360° im Gradmass = voller Kreis.

vielleicht hilft dir ja das.

mfg Tobias
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Sinus/Cosinus Funktionen

  Alt 15. Jan 2004, 22:37
Die trigonometztischen Funktionen der Delphi-Bilbiothek nehmen nur Werte im Bogenmaß entgegen.
Winkelwerte müssen also zuerst umgewandelt werden.

Hinweis: Multipliziere den Winkelwert mit ((2 x pi) / 360).
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von JASH
JASH

Registriert seit: 19. Dez 2003
16 Beiträge
 
Delphi 7 Architect
 
#5

Re: Sinus/Cosinus Funktionen

  Alt 15. Jan 2004, 22:49
@Chewie danke, aber ich bleibe dann lieber bei radtodeg/degtorad wie es Luckie geschrieben hat, ist einfacher

@Luckie und Mirlin danke, so funzt es, auch wenn ich dazu nicht direkt was in der Delphi-hilfe gefunden habe. Hab da nur noch ein kleines Problem, und zwar wenn ich einen Winkel umrechne erhalte ich den korrekten Sinus-Wert, wenn ich ihn aber wiede rzurück rechne stimmt er nicht mehr mit dem winkel überein bzw. der Winkel wird immer kleiner desto grösser der Ursprungswinkel ist.
Aus Fehlern lernt man, folglich gilt also "Desto mehr Fehler man macht desto mehr lernt man"
  Mit Zitat antworten Zitat
Benutzerbild von JASH
JASH

Registriert seit: 19. Dez 2003
16 Beiträge
 
Delphi 7 Architect
 
#6

Re: Sinus/Cosinus Funktionen

  Alt 16. Jan 2004, 07:42
Hmmm, der erste teil funzt nun, noma vielen dank, aber wenn ich die Sinus-Werte zurückrechne bekomme ich immer falsche Ergebnisse raus, bei kleinen Winkeln stimmt es noch ungefähr, bei grösseren aber dann garnicht mehr, hoffe mal ihr könnt mir da genauso schnell weiterhelfen wie zuvor

Delphi-Quellcode:
var
  R: Extended;
  S: string;
begin
  R := DegToRad(R);
  R := Sin(R);
  Str(R:5:3, S);
  Canvas.TextOut(10, 10, 'Sinus: ' + S);{Bis hierhin stimmt der Sinuswert}
  R := sinh(R);
  R := RadToDeg(R);
  Str(R:5:3, S);
  Canvas.TextOut(10, 10, 'Winkel: ' + S);{Hier erhalte ich dann die falschen Werte zurück bzw. von dem sinh}
end;
Aus Fehlern lernt man, folglich gilt also "Desto mehr Fehler man macht desto mehr lernt man"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Sinus/Cosinus Funktionen

  Alt 16. Jan 2004, 07:46
Klingt ganz nach einen Rundungsfehler. Da wirst du nichts machen können. Selbst bei Extended ist irgendwann schluss mit den Stellen und die CPU muss runden / abschneiden. Liegt aber in der Natur der Sache, da eine Zahl mit unendlich vielen oder auch endlich vielen, wenn es nur genug sind, Nachkomma stellen, nie exakt im Dualsystem abgebildet werden kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von JASH
JASH

Registriert seit: 19. Dez 2003
16 Beiträge
 
Delphi 7 Architect
 
#8

Re: Sinus/Cosinus Funktionen

  Alt 16. Jan 2004, 10:30
@Luckie dachte ich am Anfang auch, aber da sind am ende über 20° Differenz dabei und dass kann kein Rundungsfehler mehr sein. Da ein stinknormaler Taschenrechner die Werte auch problemlos umrechnen kann, Delphi aber weit mehr und ausgefeiltere Werkzeuge dafür zur Verfügung hat dachte ich dass es eigentlich leichter sein sollte. Kann es sein dass der Befehl sinh() falsch ist ?
Aus Fehlern lernt man, folglich gilt also "Desto mehr Fehler man macht desto mehr lernt man"
  Mit Zitat antworten Zitat
MikeS

Registriert seit: 3. Mai 2003
Ort: München
157 Beiträge
 
Delphi 7 Professional
 
#9

Re: Sinus/Cosinus Funktionen

  Alt 16. Jan 2004, 10:35
laut OH

Sinh berechnet den hyperbolischen Sinus eines Winkels.

also wenn du da möchtest hast du den richtigen
ansonsten gibt es da noch

Die Funktion Sin berechnet den Sinus eines Winkels.
ebenfalls aus der OH
Mike Schröder
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#10

Re: Sinus/Cosinus Funktionen

  Alt 16. Jan 2004, 10:45
sinh berechnet den hyperbolischen Sinus eines Winkels, die Umkehrfuntion zu sin jedoch berechnet sich, wie in der Mathematik üblich, mit dem arcsin.
Bitte beachte, dass die Sinusfunktion symetrisch und zyklisch ist, so dass gemäß der def von arcsin nur für
Code:
-0.5*pi<=r<=0.5*pi
gilt:
Code:
r=arcsin(sin(r))
Puh, schon lange her...
gruß, choose
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:51 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