LabVIEWForum.de - Neuer Wert - Alter Wert im Array

LabVIEWForum.de

Normale Version: Neuer Wert - Alter Wert im Array
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

gibt es eine Möglichkeit ohne Verwendung eines Schieberegisters (siehe Anhang) eine Subtraktion zweier benachbarter Arrayelemente durchzuführen? Vllt. gibt es hierfür bereits ein fertiges VI o.ä.?

Danke und Gruß
Sanjo
Ja mit Index Array, die entsprechenden Elemente indizieren (evtl. über Schleifenzähler) und dann voneinander abziehen.

Gruß Markus
Hallo,

ohne Schleifen und IndexArray:
[attachment=43392]

Edit:
Die zwei gezeigten Lösungen sind nicht identisch, aber es wurden ja auch keine Randbedingungen (im wortwörtlichen Sinne Smile) definiert...
Ich hab mich mal daran versucht, das mit decimate und interleave hinzubekommen.
Es funktioniert auch damit, allerdings dauert es etwa doppelt so lange.

[attachment=43394]

Ich würde daher nicht auf den for-loop mit shift-registern verzichten.
Was genau stört dich daran? Dass es "so groß" ist? Mach ein Sub-Vi draus! Mit hübschem Logo! Alle sind glücklich!
Oder gibt's einen anderen Grund?


P.S.: Dein Lösung vergisst die letzte Differenz, außerdem ist das "negate" unnötig, wenn du einfach die Eingänge am "minus" umdrehst (siehe mein Snippet)

***edit***
Gerd's Lösung ist *hust*malwieder*hust* besser, und beide Varianten etwa 10% schneller als der For-Loop
Hallo Sanjo,

Zitat:P.S.: Dein Lösung vergisst die letzte Differenz
Noch ein Nachtrag dazu: Deine "Lösung" bekommt Probleme, sobald du sie als subVI mehrfach verwenden willst: "Nicht-initialisierte Schieberegister"! Aber auch das wäre ein Punkt für die bisher ungenannten Randbedingungen...
Hallo zusammen,

danke euch für eure Hilfe. Ich habe Gerds zweite Lösung genommen, super.

@Kasi: ich weiß, das mit dem negate war unnötig, mag aber keine Überkreuzungen, bin da ein bisschen Monk!
Referenz-URLs