LabVIEWForum.de - Auswertung Beschleunigungsensor in Strecke

LabVIEWForum.de

Normale Version: Auswertung Beschleunigungsensor in Strecke
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,

ich habe ein Problem und komme nicht mehr weiter, hoffe ihr könnt mir helfen.

Ich werte ein Signal eines Beschleunigungssensors aus und möchte nun aus den Werten eine Strecke ermitteln, sprich 2mal integrieren. Und genau da ist das Problem, wie kann ich das machen mir LabView ??

Würde mich über Antworten freuen.

Gruß
Wenn du ein festes dt hast, hiermit:

Integral x(t)

Musst du halt 2x machen.
Hab' das gerade mal getestet. Klappt aber nicht so ganz (wahrschienlich hab' ich aber nur einen Denkfehler Blush).
Wenn ich die Funktion x (untere For-Schleife) integriere kommt bei "Trapezoidal Rule" auch 1/2 * x^2 heraus, bei 3 z.B. 1/2 * 3^2 = 4,5.

In der oberen For-Schleife, bei einer Konstanten (Wert 10), gibt es doch nach dem Integrieren 10x(+C), oder stehe ich auf dem Schlauch? Weil da kommt bei 2 z.B. nicht 20, sondern je nach Integrierart was ganz anderes heraus.

Was mache ich falsch?

Hier mein Bsp.:
[attachment=35888]

Gruß Markus
Guten Morgen,

Danke scho ma für die schnellen Antworten.

Ich habe allerdings im moment das Problem, dass ich dieses Integral nicht bei den Funktionen finden kann. kann das an meiner Version liegen oder bin ich zu blöd zum es finden.

Vllt könnt mir jemand sagen wo ich diese Funktion finde.


Danke
Mathematics -> Integration & Differentiation -> Integral x(t)

Gruß Markus

PS: Kann mir jemand sagen, was mein Denkfehler in Beitrag #3 ist?

Gruß Markus
(15.09.2011 07:43 )Y-P schrieb: [ -> ]PS: Kann mir jemand sagen, was mein Denkfehler in Beitrag #3 ist?
1) Dein VI ist in dieser Form erst ab LV2009 gültig, erst da gab es die Auswahl der Integrationsmethode.
2) Fehler ist, dass du den Standardwert bei Intial- und Final Condition nicht geändert hast. Die ist nämlich jeweils ein Array mit einem Element, nämlich Null. Schau mal in die Beschreibung zu Integral(x).
Bei der Trapezregel wird auf ein Wert x_(j-1) benötigt, bei der Simpson Regel auch noch ein Wert x_(j+1).

Also: Bei der Trapezregel einen Wert für Initial Condition anschließen, bei Simpson Intial + Final:
[attachment=35924]

Gruß, Jens

EDIT: Link korrigiert
Jetzt stimmen die beiden oberen Ergebnisse, aber 1/2*x^2 (untere For-Schleife) stimmt nicht mehr.
Wieso schreibe ich bei Initial (bei Simpson auch bei Final) den Wert 10 rein?
Bahn

EDIT:
Hier noch das VI:
[attachment=35926]

Gruß Markus
Ist im Screenshot zu sehen, dass du bei deinem 3. Integral auch ein Array [10] anschließen sollst? Nein!

Nochmals (nach dem inzwischen der Link stimmt), schau dir die Erklärung zur Mathematik in der Hilfe an.

Und meinen Screenshot für die Integration deiner Konstanten-Funktion revidiere auf das hier:
[attachment=35927]
zumindest, wenn der erste Wert des Ausgabe-Array das Integral von 0 bis 0 sein soll. Das ist jetzt aber haargenau auf die dahinterliegende Mathematik/Numerik angepasst.

Mach' mer mal a Bilde zur Erklärung, hier dein erstes Bsp, konstante Funktion, definiert an den Stellen x=0,1,2,...,9 (die weiße Linie)
[attachment=35928]
Rot dargestellt sind die Rechtecke, die die LabVIEW-Integral-Funktion bei Verwendung der Trapezregel aufaddiert, wenn man die Initial Condition auf dem Default-Wert [0] belässt. (Die Darstellung stimmt nicht ganz, da sich die Rechtecke berühren müssen, aber dann hätte man sie nicht mehr erkannt). Die numerische Integrations-Funktion gibt dir auch ein Array mit 10 Element zurück. Etwas unklar ist, was das Array-Element 0 darstellt. Ist es das Integral von 0 bis 0? Oder von 0 bis 0,5? Oder gar von 0 bis 1? Laut Hilfe soll es das Integral von 0 bis 0 sein. Wie man aber sieht, wird beim Default-Wert [0] eben noch eine Fläche von 5*1 dazu addiert.

Und deshalb funktioniert die Trapezregel "zufällig" bei deinem 2. Bsp, der numerischen Integration einer Geraden durch den Ursprung bei Verwendung der Default-Wert [0]:
[attachment=35929]

Abschließende Bemerkung: Wir sind bei numerischer Integration. Das wird dir in den seltensten Fällen das absolut richtige Ergebnis liefern.
Ein Delta von 1 bei numerischer Integration, das ist ein Killerkriterium für ein einigermaßen korrektes Resultat. Man will schließlich in der Regel möglichst kleine Rechtecke aufaddieren.

Gruß, Jens
OK. Danke Jens. Belassen wir es am besten mal dabei. Ich blicke allerdings immer noch nicht, wieso man (auf einmal) -50 und +10 anschließen muss (bzw. -10 bei Trapezoidal) und vor allem, dass man das als Array anschließen muss (bei der Hilfe blicke ich nicht wirklich durch).

Komisch ist es allerdings schon, dass LabVIEW es nicht schafft eine einfache Funktion wie "x" zu integrieren.
Ich stelle mir eine Funktion vor, wo ich vorne mein Signal (in dem Fall eine Steigung von 0-10, also "x") anlege und hinten kommt 1/2 * x^2 heraus (also vorne 0, 1, 2, 3,... und hinten 0, 0.5, 2, 4.5,...) Gibt es so was nicht?

Gruß Markus
ich habe jetzt leider immernoch das problem dass ich nicht weis, was ich in mein vi schreiben muss...

ich hab die Zeit und die Beschleunigung zur Verfügung.

wie muss ich diese mit dem Integral verschalten ??

Gruß Dominik
Seiten: 1 2
Referenz-URLs