<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung]]></title><description><![CDATA[<p>Hi!</p>
<p>Kann es sein, dass die Math.h Sinus Funktion nicht genau ist?</p>
<p>Ich definiere const double pi = 4 * atan(1.0);<br />
Wenn ich dann den sin(pi) berechne kommt nicht genau 0 raus, aber eine extrem kleine Zahl nah bei null. Der Cosinus wird richtig berechnet.<br />
Runden kann ich mir nicht erlauben, weil dann meine anderen Werte zu stark verfälscht werden würden.<br />
Das ist für mein Programm zu ungenau. Gibt es für das Problem eine Lösung?</p>
<p>Gibt es eine C++ Mathe Bibliothek die den Sinus, Cosinus und Arctangens von 0 bis 360 in Grad berechnet ?</p>
<p>Mein billiger Casio Taschenrechner kann das wunderbar. Da muss es doch auch schon fertige Funktionen können, die es unter C++ genauso berechnen ??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/117648/probleme-mit-quot-ungenauer-quot-sinusberechnung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 02:49:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/117648.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Aug 2005 20:15:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 20:15:53 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Kann es sein, dass die Math.h Sinus Funktion nicht genau ist?</p>
<p>Ich definiere const double pi = 4 * atan(1.0);<br />
Wenn ich dann den sin(pi) berechne kommt nicht genau 0 raus, aber eine extrem kleine Zahl nah bei null. Der Cosinus wird richtig berechnet.<br />
Runden kann ich mir nicht erlauben, weil dann meine anderen Werte zu stark verfälscht werden würden.<br />
Das ist für mein Programm zu ungenau. Gibt es für das Problem eine Lösung?</p>
<p>Gibt es eine C++ Mathe Bibliothek die den Sinus, Cosinus und Arctangens von 0 bis 360 in Grad berechnet ?</p>
<p>Mein billiger Casio Taschenrechner kann das wunderbar. Da muss es doch auch schon fertige Funktionen können, die es unter C++ genauso berechnen ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/848964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848964</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Tue, 09 Aug 2005 20:15:53 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 20:51:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;cmath&gt; // wir sind im C++ Forum ;-)

int main() {
double d = std::asin(4.0 * std::atan(1.0));
std::cout &lt;&lt; d;
}
</code></pre>
<p>Kommt bei mir -1.#IND000000000000 raus. Frag mich nicht was das heißen soll. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Im übrigen ist C++, wenn es ungenau sein sollte, weniger daran schuld, sondern die FPU deiner CPU die ja die Berechnung durch führt. (sowas machen die FPUs heute in Hardware)</p>
<p>Schau mal am besten hier nach, was du am besten gebrauchen kannst:<br />
<a href="http://www.cplusplus.com/ref/cmath/index.html" rel="nofollow">http://www.cplusplus.com/ref/cmath/index.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/848981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848981</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 09 Aug 2005 20:51:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:01:43 GMT]]></title><description><![CDATA[<p>Die Referenz habe ich mir schon zur Genüge durchgelesen, die hilft nicht bei dem Problem.</p>
<p>Und für die 2 Zeilen Code muss man es ja auch nicht übertreiben :p. Die versteht auch jeder ohne schickes code tag.</p>
<p>Der Wert bedeutet, dass es nach negativ unendlich geht. Also, dass die Zahl die rauskommt zu klein ist um sie als double darzustellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/848987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848987</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:01:43 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:07:57 GMT]]></title><description><![CDATA[<p>Wie <strong>Artchi</strong> schon sagte ist die Genauigkeit von Deinem Rechnersystem abhängig.<br />
Definier Dir die Kreiskonstante wie Du sie fuer deine Ansprüche brauchst!</p>
<pre><code class="language-cpp">const double pi = 3.1415926535897932384626433832795; // mehr oder weniger Stellen
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>bzw.</p>
<p>Und wenn du PI schon selbst mit ner Genauigkeit (Nachkommastellen) berechnen willst musst Du nen bissl selbst Hand anlegen.<br />
Bastel Dir ne Funktion der du die Genauigkeit übergeben kannst, und intern<br />
näherst du Dich mit ner Taylorreihe auf diese Genauigkeit für PI an.</p>
<p>Und mach dann alle nötigen Berechnungen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>mfg sclearscreen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/848988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848988</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:09:33 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Kommt bei mir -1.#IND000000000000 raus. Frag mich nicht was das heißen soll. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Das heißt, dass <strong>arc</strong> sin π nicht definiert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/848991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848991</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:09:33 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:24:48 GMT]]></title><description><![CDATA[<p>Ich habs schon mit 60 Nachkommastellen probiert und es kommt nicht richtig raus.<br />
Wenn mein billger Taschenrechner aus Schulzeiten das hinbekommt, muss es doch auch ne komfortabler Lösung unter C++ geben.</p>
<p>Gibt es denn keine vernünftige freie Mathe Bilbiolthek ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849000</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:31:05 GMT]]></title><description><![CDATA[<p>Sel schrieb:</p>
<blockquote>
<p>Ich habs schon mit 60 Nachkommastellen probiert und es kommt nicht richtig raus.<br />
Wenn mein billger Taschenrechner aus Schulzeiten das hinbekommt, muss es doch auch ne komfortabler Lösung unter C++ geben.</p>
<p>Gibt es denn keine vernünftige freie Mathe Bilbiolthek ?</p>
</blockquote>
<p>Ja, dann scheinen die hyper mega Pentium 4er nichts zu bringen? Keine Ahnung...</p>
<p>Freie Mathelibs gibts, google ist dein Freund, Suchworte: c++ math lib</p>
<p>1. Ergebnis: <a href="http://www.thefreecountry.com/sourcecode/mathematics.shtml" rel="nofollow">http://www.thefreecountry.com/sourcecode/mathematics.shtml</a></p>
<p>Und suchst dir eine aus, z.B.: <a href="http://www.oonumerics.org/blitz/" rel="nofollow">http://www.oonumerics.org/blitz/</a> ist die bekannteste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849003</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:33:08 GMT]]></title><description><![CDATA[<p>Sel schrieb:</p>
<blockquote>
<p>Wenn mein billger Taschenrechner aus Schulzeiten das hinbekommt, muss es doch auch ne komfortabler Lösung unter C++ geben.</p>
</blockquote>
<p>Jaja, der rechnet auch nur gerundete Werte aus...</p>
<p>Bye, TGGC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849005</guid><dc:creator><![CDATA[TGGC]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:33:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:36:52 GMT]]></title><description><![CDATA[<p>Sel schrieb:</p>
<blockquote>
<p>Ich habs schon mit 60 Nachkommastellen probiert und es kommt nicht richtig raus.</p>
</blockquote>
<p>&quot;Richtig&quot; liegt hier wohl im Auge des Betrachters <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Das &quot;Problem&quot; ist, dass man sich mit Fließkommazahlen sehr sehr weit an 0 annähern kann, nur der Exponent bildet die Grenze. Also 10^-200 ist überhaupt kein Problem.<br />
Du kannst dich aber nicht soweit an 1 annähern (du sagtest, der cos(0) wär genau), da hier die Anzahl der signifikanten Stellen ins Spiel kommt. Es ist da eben 1,0000000001*10^0 und nicht 1 + 10^-9 ... demzufolge ist die Angabe 1 als Ergebnis im Grunde ungenauer als das, was du beim sin(0) rauskriegst.</p>
<blockquote>
<p>Wenn mein billger Taschenrechner aus Schulzeiten das hinbekommt, muss es doch auch ne komfortabler Lösung unter C++ geben.</p>
</blockquote>
<p>Hast du mal dran gedacht, dass der vielleicht einfach rundet? Oder 0 als Spezialfall behandelt, damit Schüler keine Panik kriegen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/849010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849010</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:36:52 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 21:44:52 GMT]]></title><description><![CDATA[<p>Danke für die Links, aber da war nichts bei. Bei google habe ich auch schon gesucht.</p>
<p>Vielleicht sollte ich mal an Casio schreiben und fragen wie die das machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849019</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Tue, 09 Aug 2005 21:44:52 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 22:00:29 GMT]]></title><description><![CDATA[<p>Hatte die neue Nachricht noch nicht gesehen.</p>
<p>Das Problem mit der genaueren/ungenaueren Berechnung von C++ ist, dass dadurch bei mir völlig falsche Werte rauskommen, die das gesamte Programm sozusagen &quot;sabotieren&quot;.</p>
<p>Aber vielleicht kennt ihr eine bessere Lösung.</p>
<p>Das Grundproblem ist folgendes. Es geht mal wieder um das Farbmodell HSI ;-).</p>
<p>Es gibt ein 2 Dimensionales Feld mit, nenen wir es HSI-Pixeln Werten.<br />
Nebeneinanderliegende Pixel werden, wenn sie ein gewisses Kriterium erfüllen (Distanz des Farbwertes zum Beispiel) zu Regionen zusammengefasst.<br />
Wenn jetzt ein Pixel zu einer Region hinzugefügt wird, dann muss man den Mittelwert von H, S, I bilden (also Aktualisierung der Mittelwerte).</p>
<p>Von S und I ist das kein Problem. Da H ein Winkel ist wird der Mittelwert folgendermaßen berechnet.</p>
<p>A = Summe aller cos(H)<br />
B = Summe aller sin(H)<br />
Mittelwert von H = atan( B / A);</p>
<p>H ist normalerweise im Bereich von 0 bis 360 grad.<br />
Kurioses Phänomen, wenn ich oben genannte Formeln mit meinem Taschenrechner der auf grad eingestellt ist mit rad Werten rechne kommt immer das richtige raus. Wenn jemand weiß, warum das so ist und wie man den Effekt in C++ nachstellen kann werd ich vor Freude explodieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .</p>
<p>Wenn ich es mit grad werten rechne, muss ich ganz normal berücksichtigen in welchem Quadranten des Einheitskreises ich mich befinde und basierend darauf die Berechnung anpassen.</p>
<p>In C++ ist jetzt schon mal das Problem, dass von -pi bis +pi gerechnet wird, man also den H Wert schon mal grundsätzlich in diesen Bereich transformiern.<br />
Bei jeder Aktualisierung des Mittelwertes von H müssen jetzt wieder Bereichsprüfungen gemacht werden, sowie auf Sonderfälle wie 0, 180 und -180 geprüft werden (bzw. 0, pi, -pi). Die Sonderfälle werden aber schon gar nicht erkannt, da wegen (ganz ganz) obigem Problem diese nicht eindeutig abgefragt werden können.<br />
Die Farbmittelwert werden stark verfälscht, was zu weiteren Folgefehlern führt usw.</p>
<p>Ich habe da einfach keinen Durchblick mehr, wie man das Problem lösen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849028</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Tue, 09 Aug 2005 22:00:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Tue, 09 Aug 2005 22:37:46 GMT]]></title><description><![CDATA[<p>*dumdidum*</p>
<p>Das Problem lag primär an einer anderen Stelle *erröt*, die mit dem Problem nix zu tun hat. <em>ähem</em></p>
<p>Aber wenn Euch trotzdem ne elegantere Lösung (für obiges Problem) einfällt, fände ich das super :).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849037</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Tue, 09 Aug 2005 22:37:46 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 06:20:53 GMT]]></title><description><![CDATA[<p>Schlechte Nachricht:</p>
<p>Die Sinusfunktion ist eine unendliche Reihe, insofern gibt Dein Taschenrechner und jeder Rechner der Welt, der den Sinus durch eben eine solche Reihe approximiert niemals den genauen Wert an.<br />
Davon abgesehen liegt die Maschinengenauigkeit sowieso bei 10^-16. Was genaueres als das solltest Du nicht erwarten.</p>
<p>Und nochwas: Woher weisst Du, dass Dein Taschenrechner immer richtig rechnet und nicht einfach Standardwerte für 0 und 90° etc. benutzt und ansonsten ziemlich miese Approximationen ausspuckt? Woher weisst Du, dass C++ so falsche Werte ausspuckt? Hast Du mal von Hand eine Taylorapproximation von einem willkürlichen Wert (z.B 0.5471) bis zur gewünschten Genuaigkeit berechnet und dann das Deinen Taschenrechner / C++ Programm machen lassen und verglichen?</p>
<p>Gruss</p>
<p>turing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849084</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Wed, 10 Aug 2005 06:20:53 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 07:28:45 GMT]]></title><description><![CDATA[<p>du hast 2 probleme: die &quot;ungenauigkeit&quot; von sinus und double. Auf das problem bei der rechnung mit taylorreihen wurde schon eingegangen. Ein weiteres problem ist, dass mit double viele zahlen einfach nicht gut darstellbar sind, also kommt auch hier eine ungenauigkeit ins spiel(liegt nicht am double sondern am dualsystem), damit muss man leben.</p>
<p>Hier ein Beispiel wie man damit leben kann:</p>
<pre><code class="language-cpp">double d=5.5;//keine ahnung ob das jetzt eine schlecht darstellbare zahl ist
//schlecht
if(d==5.5){
    //...
}
//besser
if((d-5.5)&lt;=0.00001){//für den genauen wert gabs glaub ich was bei den numic_limits...
     //...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/849108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849108</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Wed, 10 Aug 2005 07:28:45 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 08:07:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">double d = 5.5;

if (d == 5.5)
  ;
</code></pre>
<p>Darf keine Probleme machen, denn intern sollte die Maschine wenigstens identische Rundungsfehler machen.</p>
<p>Davon mal abgesehen, wieso brauchst Du eigentlich super genaue Sinus und Cosinus-Werte. Schlussendlich musst Du sie auch wieder speichern und dabei entstehen wieder Fehler.</p>
<p>Gruss</p>
<p>turing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849128</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Wed, 10 Aug 2005 08:07:58 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 08:53:32 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/369">@Turing</a>: Das ungenau war schon aus einem Grund in Anführungsstrichen geschrieben, aber das ist wahrscheinlich zu trivial, um von allen verstanden zu werden .... Wie ein anderer Autor hier treffend schrieb, können solche Sachen im Auge des Betrachters liegen, also wäre super wenn mal produktiver Beiträge kommen, als immer wieder die gleiche Korrektur von genau/ungenau.</p>
<p>@all:<br />
&quot;Richtige&quot; Werte war anscheinend irreführend ausgedrückt,<br />
Wenn Du einen Wert nimmst, beispielsweise 155 für H. Dann müsste ja nachdem man die Formeln berechnet hat wieder 155 oder was in der Nähe rauskommen.<br />
Unter C++ muss man jeztz schon mal bei der atan Berechnung berücksichtigen in welchem Quadranten des Einheitskreises H liegt (Sonderfälle sind immer noch 0, pi, -pi).</p>
<p>Beim Taschenrechner ist es aber so, dass ich wenn ich ihn auf grad einstelle und mit rad Werten im Bereich von H=0...360 fülle, immer das gewünschte Ergebnis erscheint (ohne Berücksichtigung irgendwelcher Quadranten oder von Sonderfällen). Das ist eigentlich merkwürdig, aber für das was ich will gut. Also frag ich micht, ob man das so nicht auch in C++ hinbekommt und wieso, dass beim Taschenrechner überhaupt so ist.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5202">@otze</a>:<br />
Die Sonderfälle frag ich jetzt als Berech ab. Danke für einen der wenigen produktiven Beiträge.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849161</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Wed, 10 Aug 2005 08:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 09:12:59 GMT]]></title><description><![CDATA[<p>Sel schrieb:</p>
<blockquote>
<p>Beim Taschenrechner ist es aber so, dass ich wenn ich ihn auf grad einstelle und mit rad Werten im Bereich von H=0...360 fülle, immer das gewünschte Ergebnis erscheint (ohne Berücksichtigung irgendwelcher Quadranten oder von Sonderfällen). Das ist eigentlich merkwürdig, aber für das was ich will gut. Also frag ich micht, ob man das so nicht auch in C++ hinbekommt und wieso, dass beim Taschenrechner überhaupt so ist.</p>
</blockquote>
<p>Kannst du mal die Formeln dafür posten? Das hört sich ja fast so an, als wär die ganze Geschichte mehr oder weniger invariant gegenüber den verwendeten Funktionen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/849169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849169</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 10 Aug 2005 09:12:59 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 09:26:07 GMT]]></title><description><![CDATA[<p>Ach so, ne mir ist wieder eingefallen warum es beim Taschenrechner geht. Ihr müsst mir schon verzeihen, ich bin etwas verzweifelt wegen dem Programm und seh den Wald vor lauter Bäumen nicht. Aargh</p>
<p>In dem ich die rad Werte eingebe werden sie vom Taschnrechner natürlich denoch wie grad brechnet. Da da rad Werte von 0..360 erstens eindeutig und zweitens in einen günstigen kleinen Bereich fallen kommt immer das gewünschte/richtige raus.</p>
<p>Unter c++ geht das nicht, weil eh schon mit rad gerechnet wird. Wenn man die jezt noch mal in einen günstigen Bereich normalisiert, ... könnte das .... Muss ich mal länger drüber nachdenken.</p>
<p>Müsst man im Prinzip eine Funktion schreiben, die Sinus und Cosinus mit grad berechnet. Gibt es das schon?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849182</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Wed, 10 Aug 2005 09:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 09:37:37 GMT]]></title><description><![CDATA[<p>Wenn du weißt, wie man rad in grad und umgekehrt umrechnet schon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849196</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 10 Aug 2005 09:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 09:55:37 GMT]]></title><description><![CDATA[<p>Ja, das weiß ich. Aber ich seh nicht wie mir das weiterhilft?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849211</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Wed, 10 Aug 2005 09:55:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 10:15:19 GMT]]></title><description><![CDATA[<p>Sel schrieb:</p>
<blockquote>
<p>Ja, das weiß ich. Aber ich seh nicht wie mir das weiterhilft?</p>
</blockquote>
<p>Ja überleg doch mal. Du hast ne Funktion die mit rad arbeitet, weißt aber wie man von Grad in rad umrechnet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849229</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Wed, 10 Aug 2005 10:15:19 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 10:28:06 GMT]]></title><description><![CDATA[<p>Ist wahrscheinlich auch zu trivial...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849248</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Wed, 10 Aug 2005 10:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 11:35:09 GMT]]></title><description><![CDATA[<p>Entweder reden wir aneinander vorbei oder ich kapier nicht was ihr mir sagen wollt.<br />
Vielleicht noch mal ganz für doof erklären ??</p>
<p>Ich weiß wie ich den Sinus in c++ berechne. Das ist ja nicht mein Problem, sondern, dass man aufgrund der -pi bis +pi Verteiling der Werte immer noch Abfragen muss in welchem Quadranten des Einheitskreises man sich befindet und sich darauf basierend die Rechnung von H Mittelwert : atan( B / A) ändert (dazu kommen halt die viel beschriebenen Sonderfälle).</p>
<p>Ich will die Rechnung aber so haben, dass es keine Sonderfälle gibt (wie es halt mit dem Taschenrechner durch Normalisierung der Werte in einen kleinen Bereich geht).</p>
<p>Ich hab die Lösung auf jeden Fall jetzt glaub ich endlich gefunden. Man erziehlt den gleichen Effekt wie beim Taschnrechner, folgendermaßen:</p>
<p>double d = 360;<br />
d= d * pi / 180;<br />
d= d * pi / 180;</p>
<p>Dadurch bringt man die rad Werte in einen ähnlich kleinen Bereich wie bei der Taschnrechner Methode, und alle Berechnung laufen wie von mir gewollt komfortable und einfach ab.</p>
<p>Wenn Ihr mir das sagen wolltet mit Euren Beiträgen dann habe ich es aus Euren Beschreibungen leider nicht verstanden. Nächstes Mal bitte mit der Holzhammermethode erklären.</p>
<p>Vielen Dank für die Aufmerksamkeit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> .</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/369">@Turing</a>: Wenn Du dich nur streiten willst und nichts produktives beizutragen hast, spar Dir doch einfach die Zeit und antworte nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849321</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Wed, 10 Aug 2005 11:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 11:57:01 GMT]]></title><description><![CDATA[<blockquote>
<p>Wenn Du dich nur streiten willst und nichts produktives beizutragen hast, spar Dir doch einfach die Zeit und antworte nicht.</p>
</blockquote>
<p>Ich finde es nur nicht sehr nett, wie Du antwortest. Schließlich wollte ich nur helfen!<br />
In Zukunkt werde ich mir dann unproduktive Beiträge Dir gegenüber halt sparen...</p>
<p>Gruss</p>
<p>turing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849338</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Wed, 10 Aug 2005 11:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 12:05:10 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> Er kennt den Unterschied zwichen grad und rad nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
<p>Hab mir schon früher nicht erklären können was mit</p>
<p>Sel schrieb:</p>
<blockquote>
<p>In dem ich die rad Werte eingebe werden sie vom Taschnrechner natürlich denoch wie grad brechnet. Da da rad Werte von 0..360 erstens eindeutig und zweitens in einen günstigen kleinen Bereich fallen kommt immer das gewünschte/richtige raus.</p>
</blockquote>
<p>oder</p>
<p>Sel schrieb:</p>
<blockquote>
<p>Beim Taschenrechner ist es aber so, dass ich wenn ich ihn auf grad einstelle und mit rad Werten im Bereich von H=0...360 fülle, immer das gewünschte Ergebnis erscheint (ohne Berücksichtigung irgendwelcher Quadranten oder von Sonderfällen). Das ist eigentlich merkwürdig, aber für das was ich will gut.</p>
</blockquote>
<p>meint. Na dann ist ja jetzt alles gut</p>
<p>Sel schrieb:</p>
<blockquote>
<p>Ich hab die Lösung auf jeden Fall jetzt glaub ich endlich gefunden. Man erziehlt den gleichen Effekt wie beim Taschnrechner, folgendermaßen:</p>
<p>double d = 360;<br />
d= d * pi / 180;</p>
</blockquote>
<p>Ja das stimmt so rechnet man von grad nach rad um.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849343</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Wed, 10 Aug 2005 12:05:10 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit &amp;quot;ungenauer&amp;quot; Sinusberechnung on Wed, 10 Aug 2005 12:36:55 GMT]]></title><description><![CDATA[<p>Es geht doch gar nicht um die Umrechnung von Rad nach Grad. Wie das geht war schon beim ersten Beitrag des Themas bekannt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Anscheinend kann man das Problem in nem Forum nicht genau genug erklären.</p>
<p>Das Hauptproblem ist die vernünftige Mittelwertbildung von Winkeln... aber Schwamm drüber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849365</guid><dc:creator><![CDATA[Sel]]></dc:creator><pubDate>Wed, 10 Aug 2005 12:36:55 GMT</pubDate></item></channel></rss>