<?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[Anstieg einer Funktion berechnen]]></title><description><![CDATA[<p>ich nehme über einen Timer alle 1 Minute einen Messwert auf. Daraus ergibt sich dann ein Parabelförmiger Verlauf, der sich immer wieder widerholt. Nun möchte ich, dass bei Werten unter 1,0 eine bestimmte Aktion ausgeführt wird. Durch den Kurvenverlauf gibt es diesen Zustand natürlich 2 mal. Die Aktion soll aber nur bei negativen Anstieg (abfallende Kurve) ausgelöst werden. Wie kann ich das am schlausten machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288629/anstieg-einer-funktion-berechnen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 22:00:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288629.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Jun 2011 09:16:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anstieg einer Funktion berechnen on Mon, 20 Jun 2011 09:16:43 GMT]]></title><description><![CDATA[<p>ich nehme über einen Timer alle 1 Minute einen Messwert auf. Daraus ergibt sich dann ein Parabelförmiger Verlauf, der sich immer wieder widerholt. Nun möchte ich, dass bei Werten unter 1,0 eine bestimmte Aktion ausgeführt wird. Durch den Kurvenverlauf gibt es diesen Zustand natürlich 2 mal. Die Aktion soll aber nur bei negativen Anstieg (abfallende Kurve) ausgelöst werden. Wie kann ich das am schlausten machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080973</guid><dc:creator><![CDATA[rudpower]]></dc:creator><pubDate>Mon, 20 Jun 2011 09:16:43 GMT</pubDate></item><item><title><![CDATA[Reply to Anstieg einer Funktion berechnen on Mon, 20 Jun 2011 09:18:40 GMT]]></title><description><![CDATA[<p>Zwei aufeinander folgende Messwerte vergleichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080976</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 20 Jun 2011 09:18:40 GMT</pubDate></item><item><title><![CDATA[Reply to Anstieg einer Funktion berechnen on Mon, 20 Jun 2011 09:28:34 GMT]]></title><description><![CDATA[<p>ich denke 2 werden nicht reichen, da es teilweise auch mal Schwankungen gibt. Sicherheitshalber würde ich 10 Messwerte nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080980</guid><dc:creator><![CDATA[rudpower]]></dc:creator><pubDate>Mon, 20 Jun 2011 09:28:34 GMT</pubDate></item><item><title><![CDATA[Reply to Anstieg einer Funktion berechnen on Mon, 20 Jun 2011 09:32:51 GMT]]></title><description><![CDATA[<p>Interpolation + Central Differences sollte gute Ergebnisse geben.<br />
Da du das aber nicht allgemein brauchst kann auch eine einfachere Näherung reichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080983</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 20 Jun 2011 09:32:51 GMT</pubDate></item><item><title><![CDATA[Reply to Anstieg einer Funktion berechnen on Mon, 20 Jun 2011 11:33:17 GMT]]></title><description><![CDATA[<p>Wenn du dir sicher bist, dass der Graph eine Parabel ist, er sich also durch eine Funktion <code>f(x) = ax[h]2[/h] + bx + c</code> umschreiben lässt, dann würde ich eher die Ableitung verwenden: <code>f'(x) = 2ax + b</code></p>
<p>Um die Funktion <code>f(x)</code> überhaupt erst einmal zu finden, brauchst du 3 Bedingungen. Bei einer Parabel bieten sich 3 Punkte an, aber auch zwei Punkte, wobei einer der Scheitelpunkt sein muss. Da ich allerdings ja nicht weiß, wie dein Graph aussieht, gehe ich jetzt nur mal auf die erste Variante ein, wobei ich hier auch davon ausgehe, dass es die ersten drei Messwerte zu den Zeiten t<sub>1</sub> = 0s, t<sub>2</sub> = 1s, t<sub>3</sub> = 2s sind.</p>
<p>Die Funktion hat die Form:<br />
<code>f(x) = ax[h]2[/h] + bx + c</code></p>
<p>Es sind drei Punkte gegeben:<br />
`P( 0 | f(0) )</p>
<p>Q( 1 | f(1) )</p>
<p>R( 2 | f(2) )`</p>
<p>Daraus folgt:<br />
`1. c = f(0)</p>
<ol start="2">
<li>
<p>a + b + c = f(1) &lt;=&gt; b = f(1) - f(0) - a</p>
</li>
<li>
<p>4a + 2b + c = f(2) &lt;=&gt; 4a + 2f(1) - 2f(0) - 2a + f(0) = f(2) &lt;=&gt; a = f(0)/2 - f(1) + f(2)/2`</p>
</li>
</ol>
<p>Setzt man 3. wieder in 2. ein, folgt:<br />
<code>b = f(1) - f(0) - f(0)/2 + f(1) - f(2)/2 = 2f(1) - 3/2 f(0) - 1/2 f(2)</code></p>
<p>Setzt man a und b nun in die Ableitung <code>f'(x) = 2ax + b</code> ein, ergibt sich:<br />
<code>f'(x) = ( f(0) - 2f(1) + f(2) ) x + 2f(1) - 3/2 f(0) - 1/2 f(2)</code></p>
<p>Nun lässt sich für jeden Punkt die Steigung berechnen; ist sie größer als 0, steigt der Graph; ist sie kleiner als 0, fällt der Graph.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2081036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2081036</guid><dc:creator><![CDATA[DrHaxxor]]></dc:creator><pubDate>Mon, 20 Jun 2011 11:33:17 GMT</pubDate></item></channel></rss>