c/c++ aus Messdaten Integral berechnen

OP #4229806
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
Angehängte Dateien:
Gast #4229829
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)
Gast #4229876
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.
Gast #4229932
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...
OP #4229943
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...
Gast #4230006
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.
Gast #4230031
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.
Gast #4230054
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren