Toon posts:

[Labview] Elementen toevoegen in een array

Pagina: 1
Acties:
  • 302 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik hoop dat hier ook wat mensen zitten die met labview om kunnen gaan aangezien ik met een probleempje zit:

Wat ik uiteindelijk wil is een array maken met daarin maximaal 15 elementen.

Ik krijg elke seconden een double-waarde binnen, die dan de array in moet, de 15e element, die er dus het langst in zit, zal dan vervallen (maakt plaatst voor de nieuwste waarde).

Mijn vraag is hoe ik dit het beste kan doen en met welke onderdelen...

Ik krijg nu steeds een array met een element wat steeds vervalt als er iets nieuws komt, het gaat er uiteindelijk om dat ik van alle vijftien elementen de gemiddelde waarde van kan berekenen, dit heeft natuurlijk geen zin als er maar één element in de array zit...

  • Unique
  • Registratie: Januari 2001
  • Laatst online: 10-05 20:08
Nou goede vraag, ik begrijp er ook nix van.

Ik wil een datastream inlezen (opnemen soundkaart).
Alles werkt perfect, zie mooi de sinus die ik erin stuur.

Maar hoe ik nu die data stream kan gebruiken voor een berekening ben ik nog steeds niet achter.
Zit al 3 dagen te zoeken :(

Gemeten array[]=0,1,2,3,4,15,46
Nu wil ik bijv array[1] + array [5] berekenen, wat dus 1+15 =16 is, maar hoe doe ik dit in labview?!
Weet langzaam hoe ik array aan elkaar plak, door elkaar hussel, weet ik wat allemaal, maar simpel een waarde uit de array halen lukt me dus niet 8)7

Erg frustrerend program is ut :(

  • ^Stalkie^
  • Registratie: Juni 2001
  • Laatst online: 13-08 17:07
Unique schreef op dinsdag 13 maart 2007 @ 00:23:

Gemeten array[]=0,1,2,3,4,15,46
Nu wil ik bijv array[1] + array [5] berekenen, wat dus 1+15 =16 is, maar hoe doe ik dit in labview?!
Weet langzaam hoe ik array aan elkaar plak, door elkaar hussel, weet ik wat allemaal, maar simpel een waarde uit de array halen lukt me dus niet 8)7

Erg frustrerend program is ut :(
Je hebt in LabView een blokje dat heet "index array". Haak er in array aan en kies de index die je wilt uitlezen. Herhaal dit en tel de uitkomsten bij elkaar op en klaar ben je.

  • ^Stalkie^
  • Registratie: Juni 2001
  • Laatst online: 13-08 17:07
Verwijderd schreef op woensdag 24 januari 2007 @ 13:05:
Ik hoop dat hier ook wat mensen zitten die met labview om kunnen gaan aangezien ik met een probleempje zit:

Wat ik uiteindelijk wil is een array maken met daarin maximaal 15 elementen.

Ik krijg elke seconden een double-waarde binnen, die dan de array in moet, de 15e element, die er dus het langst in zit, zal dan vervallen (maakt plaatst voor de nieuwste waarde).

Mijn vraag is hoe ik dit het beste kan doen en met welke onderdelen...

Ik krijg nu steeds een array met een element wat steeds vervalt als er iets nieuws komt, het gaat er uiteindelijk om dat ik van alle vijftien elementen de gemiddelde waarde van kan berekenen, dit heeft natuurlijk geen zin als er maar één element in de array zit...
Dat is vrij eenvoudig. Je hebt neem ik aan een loop die elke seconde die waarde binnenlepelt. Met het blokje "build array" kan je dat steeds in de bestaande array toevoegen. Het bestaande array kan je met een "shift register" gewoon doorloopen.

Het 15e element is in LabView indices dus 14. Er is een blokje wat "array size" heet. Dit blokje geet je een I32 welke het aantal elementen voorstelt van een array. Test dit met compare blokken op het nummer 15. Als array size < 15 doe je niets en loop je alles door en als het groter of gelijk aan 15 wordt moet je EERST het nieuwe element toevoegen aan de array en DAN pas met "Delete from array" het 0e element (oudste) weggooien. Dan hou je een stabiele array op 15 elementen.

Het EERST en DAN stukje kan je in de true-false case (van de test of de array groter is dan 15) oplossen door een sequence structure te gebruiken.