Autor |
Beitrag |
area6
Beiträge: 22
win 2000, suse lin 9.1
d6 personal, d7, kylix3
|
Verfasst: Mo 24.06.02 10:03
Hallo,
einmal wieder habe ich einen Kampf mit sinus, cosinus und Co.
Folgender Source hat einen Fehler, finden Sie ihn!!!
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| if beta.Text<>'0' then begin {Winkel beta ggb.} if hypo.Text<>'0' then begin {Hypothenuse ggb.} b:= strtofloat(beta.Text); hy:= strtofloat(hypo.Text); a:= 90-b; {einfach gemacht --> eine Möglichkeit an alpha zu kommen} an:= cos(a)*hy; {das kann er nicht richtig berechnen} g:= sin(a)*hy; {das auch nicht} alpha.Text:= floattostr(a); ank.Text:= floattostr(an); gegen.Text:= floattostr(g); exit; end; if ank.Text<>'0' then begin b:= strtofloat(beta.Text); an:= strtofloat(ank.Text); a:= 90-b; g:= tan(a)*an; hy:= sqrt((g*g)+(an*an)); alpha.Text:= floattostr(a); gegen.Text:= floattostr(g); hypo.Text:= floattostr(hy); exit; end; |
Nur zur Info:
1.) an = Ankathede; g = Gegenkathede; hypo = Hypothenuse; a = alpha; b = beta
2.) Math-Unit ist eingebunden und arcsin und arccos, etc. laufen.
3.) An der Umrechnung von Bogen- in Gradmaß liegt es auch nicht...
Viel Spass beim Suchrätsel...
cu, area6.
Code-Tags hinzugefügt. Tino
|
|
Torsten
Beiträge: 160
|
Verfasst: Mo 24.06.02 12:02
Moinsen!
Wie ist das jetzt gemeint?
Hast Du damit ein Problem oder soll das ein Rätsel für uns sein?
Grüße
Torsten
|
|
Torsten
Beiträge: 160
|
Verfasst: Mo 24.06.02 12:06
Ach ja, noch was.
Was soll Beta sein? Welcher Winkel?
Im rechtwinkligen Dreieck spielt nur der Winkel Alpha, also der von Hypotenuse und Ankatete eingeschlossene Winkel eine Rolle.
Beta wird bei Dir auch gar nicht verwendet. Also wozu?
Arbeite doch direkt mit Alpha.
Grüße
Torsten
|
|
Lemmy
Beiträge: 792
Erhaltene Danke: 49
Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
|
Verfasst: Mo 24.06.02 12:58
area6 hat folgendes geschrieben: |
3.) An der Umrechnung von Bogen- in Gradmaß liegt es auch nicht...
|
was soll der Müll?? Natürlich liegt der Fehler daran! Wo rechnest Du denn um??
Zitat aus der Onlinehilfe:
Beschreibung
Sin gibt den Sinus des mit X angegebenen Winkels im Bogenmaß (Rad) zurück.
und das steht so bei cos,... auch! Ansonsten rechnet das Zeugs...
Grüße
Lemmy
|
|
Torsten
Beiträge: 160
|
Verfasst: Mo 24.06.02 13:14
Moinsen!
Ja, rechnet tut er wohl. Das habe ich auch eben festgestellt.
Also wo soll Dein Fehler sein?
Sag uns das doch bitte.
Und die Angabe im Bogenmaß ist ja kein Fehler. Ist nur eine Frage der Darstellung.
Grüße
Torsten
|
|
MathiasH
Beiträge: 699
WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
|
Verfasst: Mo 24.06.02 15:11
du ziehst von 90 b ab , 1/4 Kreis ist in dieser Maßeinheit(b und a) aber Pi/2 also a = Pi/2 - b und ab muss schon im Bogenmaß vorliegen.
MathiasH
_________________ "Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
|
|
area6
Beiträge: 22
win 2000, suse lin 9.1
d6 personal, d7, kylix3
|
Verfasst: Mo 24.06.02 16:35
o.k., also:
1.) beta ist deshalb dabei, weil beide Winkel eingegeben werden können
2.) mit der Umrechnung in Gradmaß (die ich nur kurzfristig aus dem source entfernt habe) kommt trotzdem nicht das richtige Ergebnis raus (das Ergebnis ist weder Grad- noch Bogenmaß, sondern schlicht falsch)
|
|
area6
Beiträge: 22
win 2000, suse lin 9.1
d6 personal, d7, kylix3
|
Verfasst: Mo 24.06.02 16:35
o.k., also:
1.) beta ist deshalb dabei, weil beide Winkel eingegeben werden können
2.) mit der Umrechnung in Gradmaß (die ich nur kurzfristig aus dem source entfernt habe) kommt trotzdem nicht das richtige Ergebnis raus (das Ergebnis ist weder Grad- noch Bogenmaß, sondern schlicht falsch)
3.) ó.g. ist mein Problem und ein Suchrätsel für Euch dazu
|
|
Torsten
Beiträge: 160
|
Verfasst: Mo 24.06.02 16:41
Gib doch mal bitte ein Beispiel für eine Berechnung, die Deiner Meinung nach falsch ist.
Grüße
Torsten
|
|
area6
Beiträge: 22
win 2000, suse lin 9.1
d6 personal, d7, kylix3
|
Verfasst: Mo 24.06.02 16:42
o.k., also:
1.) für Torsten: beta ist deshalb dabei, weil beide Winkel eingegeben werden können
2.) für Lemmy: mit der Umrechnung in Gradmaß (die ich nur kurzfristig aus dem source entfernt habe) kommt trotzdem nicht das richtige Ergebnis raus, da das falsche Ergebnis nicht beim Winkel, sondern bei den Seitenlängen für An- und Gegenkathede, schliesslich ändert 90°-beta nichts in dem Maß von beta (demnächst bitte entweder erst selbst richtig lesen oder das posten unterlassen)
3.) für Torsten: o.g. ist mein Problem und ein Suchrätsel für Euch dazu
|
|
area6
Beiträge: 22
win 2000, suse lin 9.1
d6 personal, d7, kylix3
|
Verfasst: Mo 24.06.02 16:43
Titel: Nachtrag trigon. Fkt.
o.k., also:
1.) für Torsten: beta ist deshalb dabei, weil beide Winkel eingegeben werden können
2.) für Lemmy: mit der Umrechnung in Gradmaß (die ich nur kurzfristig aus dem source entfernt habe) kommt trotzdem nicht das richtige Ergebnis raus, da das falsche Ergebnis nicht beim Winkel, sondern bei den Seitenlängen für An- und Gegenkathede, schliesslich ändert 90°-beta nichts in dem Maß von beta (demnächst bitte entweder erst selbst richtig lesen oder einfach nix posten?!?)
3.) für Torsten: o.g. ist mein Problem und ein Suchrätsel für Euch dazu
|
|
Torsten
Beiträge: 160
|
Verfasst: Mo 24.06.02 16:49
OK, soweit habe ich verstanden.
Dennoch mal bitte ein Beispiel für eine angeblich falsche Berechnung.
Grüße
Torsten
|
|
Lemmy
Beiträge: 792
Erhaltene Danke: 49
Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
|
Verfasst: Mo 24.06.02 21:01
Titel: Re: Nachtrag trigon. Fkt.
area6 hat folgendes geschrieben: |
2.) für Lemmy: mit der Umrechnung in Gradmaß (die ich nur kurzfristig aus dem source entfernt habe) kommt trotzdem nicht das richtige Ergebnis raus, da das falsche Ergebnis nicht beim Winkel, sondern bei den Seitenlängen für An- und Gegenkathede,...
|
Warum funktioniert bei mir dann dieser Code??
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| if beta.Text<>'0' then begin {Winkel beta ggb.} if hypo.Text<>'0' then begin {Hypothenuse ggb.} b:= strtofloat(beta.Text); hy:= strtofloat(hypo.Text); a:= 90-b; an:= cos(a*pi/180)*hy; //Umrechnug Teil 1 g:= sin(a*pi/180)*hy; //Umrechnung Teil 2 alpha.Text:= floattostr(a); ank.Text:= floattostr(an); gegen.Text:= floattostr(g); exit; end; |
Bei mir kommen bei folgenden Werten die richtigen Maße raus:
beta=45, Hypo=5: an=gg=3,5355..
beta=36.869897647, Hypo=5: an=4, gg=3
area6 hat folgendes geschrieben: |
schliesslich ändert 90°-beta nichts in dem Maß von beta
|
Habe ich auch nie gesagt! Die Rechnung ist ja vollkommen korrekt. Du gehst aber mit der Winkeleinheit DEGREE in die Berechnung sin(a) bzw. cos(a). Dort muss aber die Winkeleinhat RADIANT stehen! Die Umrechnung erfolg mit PI/180.
area6 hat folgendes geschrieben: |
(demnächst bitte entweder erst selbst richtig lesen oder einfach nix posten?!?)
|
Sorry für den Ton meines ersten Postings... *umverzeihungbitt*....
Grüße
Lemmy
|
|
area6
Beiträge: 22
win 2000, suse lin 9.1
d6 personal, d7, kylix3
|
Verfasst: Mo 24.06.02 21:10
Die Umrechnung in Bogenmaß habe ich tatsächlich im code drin, daran lag es nicht, aber wie ich soeben feststellen konnte, hatte ich mehrere edits übereinander, das, was eingelesen wird unter dem, in das eingetragen wird, hat sich also erledigt und ich dachte schon ich sei ein bißchen nach stundenlangem, tagelangem Testen war ich der festen Überzeugung, daß der Code stimmt, nu, war ja auch so...
Für Lemmy nochmal ein Original-Ausschnitt aus dem Source incl. aller Umrechnungen:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| if beta.Text<>'0' then begin if hypo.Text<>'0' then begin b:= strtofloat(beta.Text); hy:= strtofloat(hypo.Text); a:= 90-b; alpha.Text:= floattostr(a); zw:= (a * pi)/180; a:= zw; an:= cos(a)*hy; g:= sin(a)*hy; ank.Text:= floattostr(an); gegen.Text:= floattostr(g); exit; end; if ank.Text<>'0' then begin b:= strtofloat(beta.Text); an:= strtofloat(ank.Text); a:= 90-b; alpha.Text:= floattostr(a); zw:= (a * pi)/180; a:= zw; g:= tan(a)*an; hy:= sqrt((g*g)+(an*an)); gegen.Text:= floattostr(g); hypo.Text:= floattostr(hy); exit; end; |
ne? Umrechnung stimmte schon, also ist die Lösung des Rätsels KEINER naja, bis demnächst....
cu, area6.
|
|
Torsten
Beiträge: 160
|
Verfasst: Mo 24.06.02 21:28
|
|
area6
Beiträge: 22
win 2000, suse lin 9.1
d6 personal, d7, kylix3
|
Verfasst: Mo 24.06.02 22:09
Jupp, wie gesagt, das Problem entsprang meiner schlampigen Arbeit an der Oberfläche. :oops:
|
|
Torsten
Beiträge: 160
|
Verfasst: Mo 24.06.02 22:14
Dann bin ich ja beruhigt.
Grüße
Torsten
|
|
Chatfix
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Mo 24.06.02 22:28
ich auch
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|