Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Mathematik und Physik ::  Arccos     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Beifahrer
Unregistrierter




Beitrag Beifahrer Unregistrierter 20:29:14 21.01.2012   Titel:   Arccos            Zitieren

Hallo,

entweder habe ich es in der Schule verpasst oder sie haben uns tatsächlich nicht gezeigt, wie man von einem Cosinus-Wert auf den Winkel kommt, ohne dabei die cos-1-Funktion zu verwenden. Wie geht das? :confused:

Gruß
SG1
Mitglied

Benutzerprofil
Anmeldungsdatum: 19.03.2001
Beiträge: 2438
Beitrag SG1 Mitglied 20:34:14 21.01.2012   Titel:              Zitieren

Das ist doch genau die cos^-1-Funktion, warum willst Du die nicht benutzen?
arcos
Unregistrierter




Beitrag arcos Unregistrierter 20:41:34 21.01.2012   Titel:              Zitieren

Darfst du dafür sin-1 verwenden?
Beifahrer
Unregistrierter




Beitrag Beifahrer Unregistrierter 20:41:58 21.01.2012   Titel:              Zitieren

Ich will, aber ich kann nicht. Vereinfacht gesagt habe ich einen Taschenrechner, wo u.a. cos, sin, pi, exp, ln, tan, Operatoren, aber kein cos^-1 stehen. Und nur mit dem darf ich arbeiten.
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 13604
Beitrag SeppJ Moderator 21:05:45 21.01.2012   Titel:              Zitieren

Beifahrer schrieb:
Ich will, aber ich kann nicht. Vereinfacht gesagt habe ich einen Taschenrechner, wo u.a. cos, sin, pi, exp, ln, tan, Operatoren, aber kein cos^-1 stehen. Und nur mit dem darf ich arbeiten.
Uhh, das ist hart. Drei Vorschläge:
1. Mit Hilfe der cos-Funktion das Ergebnis systematisch einkesseln, bis die gewünschte Genauigkeit erreicht ist. Eine einfache Methode, die ein Mensch ohne weitere Hilfsmittel mit akzeptablem Aufwand durchführen kann.
2. Die Reihenentwicklung des arccos benutzen. Das ist die naive Antwort, falls du nur eine theoretische Antwort haben möchtest. Ein Mensch müsste sehr konzentriert arbeiten um dies durchzuführen, viel mehr als bei Methode 1. Und für einen Computer ist es auch doof, weil es besser konvergierendes gibt.
3. CORDIC für arccos nachschlagen. Dies ist die Antwort, wenn du einen Computer programmieren möchtest. Man benötigt nur simple Operationen, muss aber hunderte von Zwischenergebnissen aufschreiben. Sicherlich nichts für einen Menschen, abersimpel für einen Computer, wenn man es erst einmal programmiert hat. Und dann sehr effizient.
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 7514
Beitrag Gregor Moderator 21:35:05 21.01.2012   Titel:              Zitieren

Beifahrer schrieb:
Ich will, aber ich kann nicht. Vereinfacht gesagt habe ich einen Taschenrechner, wo u.a. cos, sin, pi, exp, ln, tan, Operatoren, aber kein cos^-1 stehen. Und nur mit dem darf ich arbeiten.

Ist da eine Taste, auf der "Inv" steht?

Bzw. liste mal alle Tasten auf, die Du dort hast. ...also alles, was auf den Tasten und darüber steht.

_________________
"The problem with quotes on the Internet is that it is hard to verify their authenticity" - Abraham Lincoln
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 21:48:48 21.01.2012   Titel:   arccos            Zitieren

nee, das ist easy

Ein Fixpunktverfahren zur Berechnung von arccos y:
Code:
x[t+1] := x[t] - y + cos(x[t])
Code:
x[t+1] := x[t] - y + cos(x[t])
Code:
x[t+1] := x[t] - y + cos(x[t])

und x[0] ist eine Anfangsnährung.

Es gilt nämlich im gesuchten Fixpunkt x:
Code:
x = x - y + cos(x) <=> y = cos(x) <=> x = arccos y
Code:
x = x - y + cos(x) <=> y = cos(x) <=> x = arccos y
Code:
x = x - y + cos(x) <=> y = cos(x) <=> x = arccos y

Beispiel: Berechnung von arccos 0.8:
Code:
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
x[t+1] := x[t] - 0.8 + cos(x[t])

Anfangsnährung x[0] := 1.

=>
x[1] ~ 0.740,
x[2] ~ 0.679,
x[3] ~ 0.657,
x[4] ~ 0.649,
x[5] ~ 0.646,
x[6] ~ 0.644
Code:
1
2
3
4
5
6
7
8
9
10
11
x[t+1] := x[t] - 0.8 + cos(x[t])

Anfangsnährung x[0] := 1.

=>
x[1] ~ 0.740,
x[2] ~ 0.679,
x[3] ~ 0.657,
x[4] ~ 0.649,
x[5] ~ 0.646,
x[6] ~ 0.644
Code:
1
2
3
4
5
6
7
8
9
10
11
x[t+1] := x[t] - 0.8 + cos(x[t])

Anfangsnährung x[0] := 1.

=>
x[1] ~ 0.740,
x[2] ~ 0.679,
x[3] ~ 0.657,
x[4] ~ 0.649,
x[5] ~ 0.646,
x[6] ~ 0.644

und x[6] ~ 0.644 ist schon arccos 0.8 auf 3 Nachkommastellen genau.
Beifahrer
Unregistrierter




Beitrag Beifahrer Unregistrierter 22:28:11 21.01.2012   Titel:              Zitieren

Ja, Inv ist auch verfügbar (als Checkbox), aber ich versteh nicht ganz womit ich das kombinieren soll.
Von den von Sepp genannten Methoden kommt nur die Taylorreihe in Frage, weil ich das schon mit einem möglichst geringen Fehler bestimmen will. Da reichen sicherlich auch die ersten 4-5 Elemente der Reihe ausreichen.
SG1
Mitglied

Benutzerprofil
Anmeldungsdatum: 19.03.2001
Beiträge: 2438
Beitrag SG1 Mitglied 22:37:16 21.01.2012   Titel:              Zitieren

Beifahrer schrieb:
Ja, Inv ist auch verfügbar (als Checkbox), aber ich versteh nicht ganz womit ich das kombinieren soll.

Mit cos.
Zitat:
Von den von Sepp genannten Methoden kommt nur die Taylorreihe in Frage, weil ich das schon mit einem möglichst geringen Fehler bestimmen will. Da reichen sicherlich auch die ersten 4-5 Elemente der Reihe ausreichen.

Ich weiss nicht mehr genau, wie's beim Cosinus war - aber Taylorreihen stehen nicht im Ruf, besonders schnell zu konvergieren.
Beifahrer
Unregistrierter




Beitrag Beifahrer Unregistrierter 23:00:43 21.01.2012   Titel:              Zitieren

SG1 schrieb:
Ich weiss nicht mehr genau, wie's beim Cosinus war - aber Taylorreihen stehen nicht im Ruf, besonders schnell zu konvergieren.
Mit 4 Elementen habe es auf 3 Nullkommastellen genau. Allerdings habe ich festgestellt, dass bei cos-Werten nahe 1 oder -1 die Ungenauigkeit ziemlich hoch ist. Das mit Inverse scheint nicht so zu funktionieren, wie ich dachte. Wenn ich cos(β) eingebe und Inv anklicke, dann passiert mit β nichts. Naja..
SG1
Mitglied

Benutzerprofil
Anmeldungsdatum: 19.03.2001
Beiträge: 2438
Beitrag SG1 Mitglied 23:07:31 21.01.2012   Titel:              Zitieren

Versuch mal, erst auf Inv zu drücken, dann auf cos.
otze
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2004
Beiträge: 6658
Beitrag otze Mitglied 08:55:44 22.01.2012   Titel:              Zitieren

was für ein Taschenrechner ist das denn?

_________________
Jesus Christus! Da blickt ja kein Mensch mehr durch.
!rr!rr_.
Unregistrierter




Beitrag !rr!rr_. Unregistrierter 12:10:22 22.01.2012   Titel:   re arc            Zitieren

!rr!rr_. schrieb:
nee, das ist easy
Ein Fixpunktverfahren zur Berechnung von arccos y:

"easy" heißt natürlich "für mich easy" :idea:
[Rewind]
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.07.2009
Beiträge: 526
Beitrag [Rewind] Mitglied 14:50:51 22.01.2012   Titel:              Zitieren

otze schrieb:
was für ein Taschenrechner ist das denn?
Das habe ich mich auch gefragt :) Inv funktioniert übrigens nicht. Anleitung zu dem Scheiß gibt's auch nicht.

_________________
Zufall existiert nicht.
Jester
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2001
Beiträge: 8332
Beitrag Jester Moderator 14:58:15 22.01.2012   Titel:              Zitieren

Was heißt "funktioniert nicht"? Was kommt denn raus, wenn du 0 eingibst und dann INV COS?

Edit: und was erwartest du, was rauskommen sollte?

_________________
Mod im Mathe-Forum

Die dümmsten Programmierer schreiben die dicksten Programme.


Zuletzt bearbeitet von Jester am 14:58:49 22.01.2012, insgesamt 1-mal bearbeitet
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 13604
Beitrag SeppJ Moderator 18:40:10 22.01.2012   Titel:              Zitieren

[Rewind] schrieb:
otze schrieb:
was für ein Taschenrechner ist das denn?
Das habe ich mich auch gefragt :) Inv funktioniert übrigens nicht. Anleitung zu dem Scheiß gibt's auch nicht.
Kopf-Tisch.

Sinnlosester Thread aller Zeiten des Monats :rolleyes: .

Junge, lern mal deinen Taschenrechner zu bedienen, bevor du solche Fragen stellst. Glaubst du echt, die haben die Funktionen vergessen? Guck mal bei Google nach einer Anleitung. Oder nenn uns das Modell.
C/C++ Forum :: Mathematik und Physik ::  Arccos   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.