<?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[BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade die im Betreff genannten Testmacros richtig zu verwenden.</p>
<p>wenn ich die Doku richtig verstanden habe, dann tested<br />
BOOST_CHECK_CLOSE<br />
ob die Differenz von A und B grösser ist als angegben in % an 3ter Stelle<br />
und<br />
BOOST_CHECK_CLOSE_FRACTION<br />
ob die Differenz von A und B grösser ist als der gegebene Wert an 3ter Stelle</p>
<p>jetzt hab ich folgendes, und eigentlich sollte das funktioniern, dachte ich zumindest.</p>
<pre><code>a) BOOST_CHECK_CLOSE( std::cos(1.5708) , 0.0,  0.01 ) ;
b) BOOST_CHECK_CLOSE_FRACTION( std::cos(1.5708) , 0.0,  0.00001 ) ;
</code></pre>
<p>geht aber beides nicht. Testreport ist:</p>
<pre><code>a) difference{inf%} between std::cos(1.5708){-3.6732051033465739e-06} and 0.0{0} exceeds 0.01%                 

b) difference{1.79769e+308} between std::cos(1.5708){-3.6732051033465739e-06} and 0.0{0} exceeds 1.0000000000000001e-05
</code></pre>
<p>Beim Ersten kann ich mir vielleicht vorstellen das 0.01 % von 0 ein Problem ist,<br />
das Zweite dachte ich aber es sollte auf jeden Fall funktioniern, aber anscheinend denke ich nicht richtig.</p>
<p>Kann mir bitte jemand sagen was ich falsch mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320362/boost_check_close-und-boost_check_close_fraction-verständnis-problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 04:50:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320362.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Sep 2013 12:49:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 12:49:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade die im Betreff genannten Testmacros richtig zu verwenden.</p>
<p>wenn ich die Doku richtig verstanden habe, dann tested<br />
BOOST_CHECK_CLOSE<br />
ob die Differenz von A und B grösser ist als angegben in % an 3ter Stelle<br />
und<br />
BOOST_CHECK_CLOSE_FRACTION<br />
ob die Differenz von A und B grösser ist als der gegebene Wert an 3ter Stelle</p>
<p>jetzt hab ich folgendes, und eigentlich sollte das funktioniern, dachte ich zumindest.</p>
<pre><code>a) BOOST_CHECK_CLOSE( std::cos(1.5708) , 0.0,  0.01 ) ;
b) BOOST_CHECK_CLOSE_FRACTION( std::cos(1.5708) , 0.0,  0.00001 ) ;
</code></pre>
<p>geht aber beides nicht. Testreport ist:</p>
<pre><code>a) difference{inf%} between std::cos(1.5708){-3.6732051033465739e-06} and 0.0{0} exceeds 0.01%                 

b) difference{1.79769e+308} between std::cos(1.5708){-3.6732051033465739e-06} and 0.0{0} exceeds 1.0000000000000001e-05
</code></pre>
<p>Beim Ersten kann ich mir vielleicht vorstellen das 0.01 % von 0 ein Problem ist,<br />
das Zweite dachte ich aber es sollte auf jeden Fall funktioniern, aber anscheinend denke ich nicht richtig.</p>
<p>Kann mir bitte jemand sagen was ich falsch mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355455</guid><dc:creator><![CDATA[kurze_frage]]></dc:creator><pubDate>Wed, 25 Sep 2013 12:49:51 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 12:55:11 GMT]]></title><description><![CDATA[<p>Beides sind relative Toleranzen. Beim ersten Makro ist der Wert für die Toleranz in Prozent anzugeben, beim zweiten absolut (also 0.5 wären 50%).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355457</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 25 Sep 2013 12:55:11 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 13:48:44 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Beides sind relative Toleranzen. Beim ersten Makro ist der Wert für die Toleranz in Prozent anzugeben, beim zweiten absolut (also 0.5 wären 50%).</p>
</blockquote>
<p>ok, danke,<br />
damit is mal klar das ich BOOST_CHECK_CLOSE_FRACTION falsch verstanden habe</p>
<p>warum der Vergleich von quasi 0 mit 0 nicht geht is mir aber noch immer ein Rätsel.</p>
<p>brutforce wert , 0.01 bis 1</p>
<pre><code>BOOST_CHECK_CLOSE( std::cos(1.5708) , 0.0,  0.01 ) ;   
BOOST_CHECK_CLOSE_FRACTION( std::cos(1.5708) , 0.0,  0.01 ) ;
BOOST_CHECK_CLOSE( std::cos(1.5708) , 0.0,  0.1 ) ;   
BOOST_CHECK_CLOSE_FRACTION( std::cos(1.5708) , 0.0,  0.1 ) ;   
BOOST_CHECK_CLOSE( std::cos(1.5708) , 0.0,  1 ) ;   
BOOST_CHECK_CLOSE_FRACTION( std::cos(1.5708) , 0.0,  1 ) ;
</code></pre>
<p>all melden einen Fehler,</p>
<p>wie teste ich also 2 so kleine Werte?</p>
<p>ich hab mir das da gemacht</p>
<pre><code>template&lt;typename T&gt; bool in_margin(T a, T b, T c)
{
  return std::abs(a-b) &lt;= std::abs(c); 
}
</code></pre>
<p>da funktiniert wenigstens so</p>
<pre><code>BOOST_CHECK( in_margin(std::cos(1.5708) , 0.0,  0.01 ) ) ;
</code></pre>
<p>hoff das ist nicht ganz falsch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355476</guid><dc:creator><![CDATA[kurze_frage]]></dc:creator><pubDate>Wed, 25 Sep 2013 13:48:44 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 14:03:42 GMT]]></title><description><![CDATA[<p><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="😕"
    /> Ist doch klar, dass ein relativer Vergleich zu 0 immer fehl schlägt. Der relative Unterschied zwischen 0 und nicht-0 ist immer unendlich groß. Gerade deshalb sind Fließkommavergleiche doch so schwer: Legt man eine relative Toleranz fest, dann bekommt man Probleme, wenn ein winziger Unterschied zu einem großen relativen Unterschied führt. Legt man absolute Toleranzen fest, bekommt man Probleme, wenn die Zahlen kleiner werden als die Auslegung der Toleranz. Den Stein der Weisen gibt es da nicht. Siehe folgende Abhandlung:<br />
<a href="http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm" rel="nofollow">http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm</a><br />
(Wobei da schon ein paar gute Vorschläge gemacht werden, auf die man alleine nicht so schnell kommt)</p>
<p>Du suchst hier anscheinend einen absoluten Vergleich, so wie dein selbst gebastelter Vergleich. Das gibt's auch im Boost Test-Framework, unter BOOST_CHECK_SMALL.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355484</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 25 Sep 2013 14:03:42 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 14:20:28 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Du suchst hier anscheinend einen absoluten Vergleich, so wie dein selbst gebastelter Vergleich. Das gibt's auch im Boost Test-Framework, unter BOOST_CHECK_SMALL.</p>
</blockquote>
<p>BOOST_CHECK_SMALL schaut gut aus, vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355493</guid><dc:creator><![CDATA[kurze_frage]]></dc:creator><pubDate>Wed, 25 Sep 2013 14:20:28 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 14:24:40 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Der relative Unterschied zwischen 0 und nicht-0 ist immer unendlich groß.</p>
</blockquote>
<p>und vielen Dank auch für das, auch wenns klar sein sollte, jetzt is es für mich klarer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355495</guid><dc:creator><![CDATA[kurze_frage]]></dc:creator><pubDate>Wed, 25 Sep 2013 14:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 15:46:25 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Ist doch klar, dass ein relativer Vergleich zu 0 immer fehl schlägt. Der relative Unterschied zwischen 0 und nicht-0 ist immer unendlich groß.</p>
</blockquote>
<p>Ich hab da mal grad eine verwandte aber etwas andere Frage zu:</p>
<p>Was du da ansprichst ist ja auch als relative Abweichung bekannt. Die Formel dafür ist ja gleich, aber die Werte werden leicht anders interpretiert:<br />
<span class="katex"><span class="katex-mathml"><math><semantics><mrow><msup><mi>x</mi><mrow><mi mathvariant="normal">′</mi></mrow></msup><mo>=</mo><mfrac><mrow><mi>x</mi><mi mathvariant="normal">_</mi><mi>r</mi><mo>−</mo><mi>x</mi><mi mathvariant="normal">_</mi><mi>s</mi></mrow><mrow><msub><mi>x</mi><mi>s</mi></msub></mrow></mfrac></mrow><annotation encoding="application/x-tex">x&#x27; = \frac{x\_r - x\_s}{x_s}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.935331em;"></span><span class="strut bottom" style="height:1.3853309999999999em;vertical-align:-0.44999999999999996em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathrm">′</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mrel">=</span><span class="mord reset-textstyle textstyle uncramped"><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.345em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord scriptstyle cramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:0.15em;margin-right:0.07142857142857144em;margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-scriptstyle scriptscriptstyle cramped"><span class="mord mathit">s</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-0.527em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathit">x</span><span class="mord mathrm" style="margin-right:0.02778em;">_</span><span class="mord mathit" style="margin-right:0.02778em;">r</span><span class="mbin">−</span><span class="mord mathit">x</span><span class="mord mathrm" style="margin-right:0.02778em;">_</span><span class="mord mathit">s</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span></span></span></span><br />
wobei:<br />
<span class="katex"><span class="katex-mathml"><math><semantics><mrow><msup><mi>x</mi><mrow><mi mathvariant="normal">′</mi></mrow></msup><mo>→</mo></mrow><annotation encoding="application/x-tex">x&#x27; \rightarrow</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.751892em;"></span><span class="strut bottom" style="height:0.751892em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathrm">′</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mrel">→</span></span></span></span> die relative Abweichung<br />
<span class="katex"><span class="katex-mathml"><math><semantics><mrow><msub><mi>x</mi><mi>r</mi></msub><mo>→</mo></mrow><annotation encoding="application/x-tex">x_r \rightarrow</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.58056em;vertical-align:-0.15em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:0.15em;margin-right:0.05em;margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord mathit" style="margin-right:0.02778em;">r</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mrel">→</span></span></span></span> der reale (Mess-)Wert<br />
<span class="katex"><span class="katex-mathml"><math><semantics><mrow><msub><mi>x</mi><mi>s</mi></msub><mo>→</mo></mrow><annotation encoding="application/x-tex">x_s \rightarrow</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.58056em;vertical-align:-0.15em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:0.15em;margin-right:0.05em;margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord mathit">s</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mrel">→</span></span></span></span> der Ziel- oder Vergleichswert sei.</p>
<p>Die relative Abweichung zu Werten <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msub><mi>x</mi><mi>r</mi></msub><mo>≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">x_r \neq 0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.716em;"></span><span class="strut bottom" style="height:0.9309999999999999em;vertical-align:-0.215em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:0.15em;margin-right:0.05em;margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord mathit" style="margin-right:0.02778em;">r</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mrel">≠</span><span class="mord mathrm">0</span></span></span></span> ist ja simpel damit zu berechnen. Aber was mache ich/macht man, wenn der Sollwert 0 ist? Und wie ist das interpretierbar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355515</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 25 Sep 2013 15:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 15:45:59 GMT]]></title><description><![CDATA[<p><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="😕"
    /> Ich glaube, da ist irgendwie die Hälfte deiner Frage verloren gegangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355517</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 25 Sep 2013 15:45:59 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 16:37:50 GMT]]></title><description><![CDATA[<p>Nee -.-<br />
Hab auf Vorschau mittendrin klicken wollen, war aber absenden. Ist jetzt vollständig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355533</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 25 Sep 2013 16:37:50 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 16:44:32 GMT]]></title><description><![CDATA[<p>Ich verstehe nicht ganz, was hier 0 sein soll. Beide? In dem Fall käme ein undefiniertes Ergebnis raus. Aber wenn man einen Sollwert 0 hat, ist es ohnehin Unsinn, mit einer relativen Abweichung zu rechnen, da jedes Ergebnis, das nicht 0 ist, eine unendlich große Abweichung hat. In dem Fall möchte man tatsächlich einen direkten Vergleich mit 0 (also mit == vergleichen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355534</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 25 Sep 2013 16:44:32 GMT</pubDate></item><item><title><![CDATA[Reply to BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION (Verständnis?)Problem on Wed, 25 Sep 2013 16:57:41 GMT]]></title><description><![CDATA[<p>Mir gehts grad weniger um den Vergleich, sondern um die wirkliche relative Abweichung.</p>
<p>Nehmen wir an ich habe eine Kostenfunktion für die Kanten eines Graphen c(x).<br />
Und ich will eine Schätzfunktion h(x) für diese Kosten bewerten. (z.B. damit ich weiss wie gut eine Heuristik für etwa A* ist)</p>
<p>Dann kenne ich einmal das tatsächliche Ergebnis, also den Wert an einer Stelle <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msub><mi>x</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">x_0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.58056em;vertical-align:-0.15em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:0.15em;margin-right:0.05em;margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord mathrm">0</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span> und einmal den Schätzwert an der Stelle. Ich will jetzt wissen, wie gut mein Schätzwert ist - anhand der relativen Abweichung.</p>
<p>-&gt; <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msup><mi>x</mi><mrow><mi mathvariant="normal">′</mi></mrow></msup><mo>=</mo><mfrac><mrow><mi mathvariant="normal">∣</mi><mi>h</mi><mo>(</mo><mi>x</mi><mi mathvariant="normal">_</mi><mn>0</mn><mo>)</mo><mo>−</mo><mi>c</mi><mo>(</mo><mi>x</mi><mi mathvariant="normal">_</mi><mn>0</mn><mo>)</mo><mi mathvariant="normal">∣</mi></mrow><mrow><mi>c</mi><mo>(</mo><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow></mfrac></mrow><annotation encoding="application/x-tex">x&#x27; = \frac{|h(x\_0) - c(x\_0)|}{c(x_0)}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:1.052em;"></span><span class="strut bottom" style="height:1.572em;vertical-align:-0.52em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathrm">′</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mrel">=</span><span class="mord reset-textstyle textstyle uncramped"><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.34500000000000003em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord scriptstyle cramped"><span class="mord mathit">c</span><span class="mopen">(</span><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:0.15em;margin-right:0.07142857142857144em;margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-scriptstyle scriptscriptstyle cramped"><span class="mord mathrm">0</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mclose">)</span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-0.527em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathrm">∣</span><span class="mord mathit">h</span><span class="mopen">(</span><span class="mord mathit">x</span><span class="mord mathrm" style="margin-right:0.02778em;">_</span><span class="mord mathrm">0</span><span class="mclose">)</span><span class="mbin">−</span><span class="mord mathit">c</span><span class="mopen">(</span><span class="mord mathit">x</span><span class="mord mathrm" style="margin-right:0.02778em;">_</span><span class="mord mathrm">0</span><span class="mclose">)</span><span class="mord mathrm">∣</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span></span></span></span></p>
<p>Soweit so gut, gefällt mir auch alles.<br />
Das Problem ist nur, was passiert wenn es keine Kosten mehr gibt (<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>c</mi><mo>(</mo><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c(x_0) = 0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle uncramped"><span class="mord mathit">c</span><span class="mopen">(</span><span class="mord"><span class="mord mathit">x</span><span class="vlist"><span style="top:0.15em;margin-right:0.05em;margin-left:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord mathrm">0</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mclose">)</span><span class="mrel">=</span><span class="mord mathrm">0</span></span></span></span>)? Denn dann ist, egal was geschätzt wird, eine Division durch 0 vorhanden.</p>
<p>Meine Frage ist: Wie geht man mit solch einer Situation um?</p>
<p>Ich meine, gerade in der Messtechnik, wo man diese Formal öfters benutzt, wird man hier und damal doch auch sicherlich als Ergebnis 0 erwarten, und das wäre ja dann auch ein Division-by-Zero &quot;Fehler&quot;.</p>
<p>Bisher nutze ich in dem Fall die absolute Abweichung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2355538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2355538</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 25 Sep 2013 16:57:41 GMT</pubDate></item></channel></rss>