![]() |
Sinus, Cosinus, Tangens...etc
Hi ich versuch in meinem Mathe programm sinus zu berechnen, aber irgendwie kommt nicht das was ich brauche.
Es gibt in Delphi, soweit ich es weiß, Sin und ArcSin. Aber ich hab selbst in einem kleinem programm probiert diese auszurechnen und da kommt immer etwas anderes raus :(
Delphi-Quellcode:
Zahl ist als extended deklariert...plz help :(val(edit1.Text,zahl,code); wurzel:=Sin(zahl); edit2.Text:=FloatToStr(wurzel); |
Re: Sinus, Cosinus, Tangens...etc
Delphi rechnet nicht in Grad, sondern im Bogenmaß. Hast du das bedacht?
|
Re: Sinus, Cosinus, Tangens...etc
Delphi-Quellcode:
a:=45; // degrees
sin_a := sin( a * pi / 180 ); |
Re: Sinus, Cosinus, Tangens...etc
Alternativ:
![]() |
Re: Sinus, Cosinus, Tangens...etc
hast du auch den errorcode in "code" überprüft? ich weiss nicht ob die zahl die val zurückliefert definiert ist wenn ein error auftritt.
|
Re: Sinus, Cosinus, Tangens...etc
danke: @ sniper
aber wie ist das mit ArcSin, muss mal da auch *pi/180 oder umgekehrt?? :gruebel: |
Re: Sinus, Cosinus, Tangens...etc
Delphi-Quellcode:
sin_a := 0.7074333376; // es muss ein Wert zwischen -1..1 inklusiv -1 und 1 sein
a := ArcSin( sin_a ) * 180 / pi; // in degrees |
Re: Sinus, Cosinus, Tangens...etc
Im Argument des ArcSin nicht, da der ArcSin die Umkehrfunktion des Sinus ist.
Das Ergebnis das du erhälst müsste aber im Bogenmas sein, wenn du das also in Grad haben willst musst du es wieder umrechnen. |
Re: Sinus, Cosinus, Tangens...etc
Zitat:
|
Re: Sinus, Cosinus, Tangens...etc
Hi,
Versuch es mal mit:
Delphi-Quellcode:
StrToFloat berücksichtigt den in den Ländereinstellungen vorgesehenen Dezimalseparator. Mit Try fängst Du ab, ob was unsinniges eingegeben wurde.
Try
sin_a:= StrToFloat(Edit1.Text); except sin_a:=0; end; mfg BrunoT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 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