Forum: PC-Programmierung c/c++ aus Messdaten Integral berechnen


von Kilian K. (kellermaaan)


Angehängte Dateien:

Lesenswert?

Hallo,

momentan arbeite ich mit einem Arduino Taijiuino. Mit diesem erfasse ich 
Messwerte und stelle diese als Diagramm auf einer Webseite dar (s. 
Anhang).
Nun möchte ich z.B. aus so einer Kurve das Integral berechnen. Da aber 
Integrale nicht wirklich meine Spezialität sind, wäre ich demjenigen 
sehr dankbar wenn mir jemand dabei helfen könnte!

MfG Kilian

von Peter II (Gast)


Lesenswert?

sicher das du das Integral brauchst? Du hast doch diskrete werte zu 
jedem Zeitpunkt, damit kannst du ohne Integral rechnen.

Integral braucht man doch nur, wenn man eine formel hat.

von SummSumm (Gast)


Lesenswert?

Du musst einfach nur die Summe bilden.

von Mark B. (markbrandis)


Lesenswert?

Kilian K. schrieb:
> Nun möchte ich z.B. aus so einer Kurve das Integral berechnen.

Wurde hier so ähnlich schon mal diskutiert:
Beitrag "Daten (numerisch) integrieren in C"

von mh (Gast)


Lesenswert?

Peter II schrieb:
> sicher das du das Integral brauchst? Du hast doch diskrete werte
> zu
> jedem Zeitpunkt, damit kannst du ohne Integral rechnen.
>
> Integral braucht man doch nur, wenn man eine formel hat.

Aber er hat doch eine so schön geschwungene Linie. (Die allerdings von 
seiner x-Achsen Skalierung abhängt, welche eher fragwürdig ist)

von Stanislav F. Stamm (Gast)


Lesenswert?


: Wiederhergestellt durch User
von Stanislav F. Stamm (Gast)


Lesenswert?

Quatsch ... Den Beitrag mit dem Link und diesen bitte löschen. Sorry.

: Wiederhergestellt durch User
von Mark B. (markbrandis)


Lesenswert?

Wieso Quatsch?

"Numerical integration of smooth functions over a finite interval using 
an optimal algorithm" klingt doch super. :-)

von Peter II (Gast)


Lesenswert?

das smooth sieht zwar gut aus, aber entspricht das auch der Realität?


Das es zwischen 58 und 76 wieder nach unten geht, ist ja eine reine 
Vermutung des "smooth" Wenn es z.b. die Stromaufnahme von einem Gerät 
ist, würde ich diesen verhalten nicht erwarten. Dann ist es besser die 
Punkte mit einer Linie zu verbinden und dann ist auch klar wie man es 
rechnen kann.

von Kilian K. (kellermaaan)


Lesenswert?

Erst einmal danke für eure Antworten!

SummSumm schrieb:
> Du musst einfach nur die Summe bilden.

Reicht das denn wirklich aus um die Fläche unterhalb der Kurve zu 
berechnen? Ich kenne das nämlich nur mit dem Integral :-/

von Syliosha (Gast)


Lesenswert?

Ein Integral ist nur eine Summe. Was dich am Bild verwirren dürfte, ist, 
dass zwischen den Messpunkten eine interpolierte Linie gezogen ist.

von Salewski (Gast)


Lesenswert?

Kilian K. schrieb:
> Reicht das denn wirklich aus um die Fläche unterhalb der Kurve zu
> berechnen? Ich kenne das nämlich nur mit dem Integral :-/

Stichwort wäre "Numerische Integration", und damit Trapezregel, 
Simpson-Regel usw.

von Salewski (Gast)


Lesenswert?

Wobei ich Dein Bildchen nicht wirklich verstehe: Sind die runden Punkte 
die diskreten Messwerte, und du hast für die durchgezogene Linie bereits 
eine Inperpolation gemacht? Na dann wäre es ja sinnvoll gleich mit den 
interpolieten Werten zu rechnen, also aufzusummieren...

von Kilian K. (kellermaaan)


Lesenswert?

Salewski schrieb:
> Wobei ich Dein Bildchen nicht wirklich verstehe: Sind die runden Punkte
> die diskreten Messwerte, und du hast für die durchgezogene Linie bereits
> eine Inperpolation gemacht? Na dann wäre es ja sinnvoll gleich mit den
> interpolieten Werten zu rechnen, also aufzusummieren...

Genau die runden Punkte sind die diskreten Messwerte. Die teilweise 
geschwungenden Linien (z.B. zwischen 58 und 76) werden von der Lib vom 
Diagramm erstellt. Wenn ich mich nicht irre kann man das auch in den 
Optionen vom Diagramm ändern, dass das nicht so geschwungen sein soll...

von Salewski, Stefan (Gast)


Lesenswert?

Wenn Du am Bildschirm eine "schön" geglättete interpolierte Linie 
zeigst, dann macht es wenig Sinn, einfach nach der einfachen Trapezregel 
die Messwerte aufzusummieren, da sich eine merkliche Diskrepanz ergäbe. 
Simpson-Regel wäre da schon besser. Vermutlich kommst Du nicht direkt an 
die interpolierten Werte aus deinem Bildchen heran, und kennst auch 
nicht den Interpolationsalgorithmus, womöglich Spline-Interpolation? 
Vielleicht machst Du es dann am besten direkt über die Grafik: 
Abspeichern als Bitmap und dann die farbigen Pixel zählen, dazu gibt es 
sicher Bibliotheken. Das Integral ergibt sich dann aus dem Verhältnis 
der farbigen Pixel unter der Kurze zu der Gesamtzahl der Pixel. Oder Du 
fragst bei dem Softwarelieferanten an -- wenn er schon eine 
interpolierte Grafik anbietet, kann er sicher auch die numerische 
Integration liefern.

von Der Andere (Gast)


Lesenswert?

Wenn man sich dei Y Werte anschaut, dann sieht man, dass dei Schwankung 
gerade mal die letzten (niederwertigsten) 2 Bit betrifft.

Die Frage ist doch, sind diese Bits überhaupt noch signifikant und 
innerhalb der Genauigkeit des kompletten Systems oder ist die toll 
kurvige Interpolation nicht einfach eine Interpolation des Rauschens.

Sprich das Integral ist irgendwas um die 1020 * 160.

von Salewski, Stefan (Gast)


Lesenswert?

Der Andere schrieb:
> Sprich das Integral ist irgendwas um die 1020 * 160.

:-)

Ich war davon ausgegangen, dass dies nur ein kleiner Ausschnitt ist, und 
das die Daten weit stärker variieren. Aber womöglich hast Du recht. Und 
wenn die Variation von benachbarten Messwerten klein ist, dann ist die 
Berechnung nach Trapezregel natürlich auch gut genug.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.