Despre Oferta Tutoriale Articole Carti Download Legaturi Noutati
Initiere in mediul de programare grafica LabVIEW
Partea a V-a
un material scris de Ionut GHIONEA

Articole

Cuprins
Materiale: array.vi

Functii pentru valori vectoriale (Array)

Spre deosebire de elementele scalare, care erau reprezentate printr-o singura valoare, de un anumit tip (numeric, boolean, alfanumeric), elementele vectoriale (Array) contin, intr-o maniera ordonata, mai multe valori de acelasi tip.

Pentru a fi dispus in panou, un element de tipul Array se selecteaza din meniul Array & Cluster (Figura 1) al paletei de elemente.

Fig. Selectarea elementului de tip Array

 

La dispunerea pe panou a unui Array, tipul datelor pe care acesta le va contine nu este inca definit si se considera ca elementul de tip Array este vid.

Pentru a defini tipul de date, in acest element se va introduce un element de control sau indicator scalar din tipul dorit (numeric, boolean sau alfanumeric).
Elementul scalar ce urmeaza a fi introdus in Array poate exista deja pe panou sau poate fi selectat din paleta de elemente.

Cand elementul scalar este adus deasupra elementului Array, inainte de a se elibera butonul stanga al mouse-ului, conturul Array este marcat cu o linie intrerupta, cu semnificatia ca Array-ul sesizeaza ca i se va introduce un element scalar. La eliberarea butonului mouse-ului, elementul scalar apare in interiorul elementului Array, iar acesta isi modifica corespunzator dimensiunile. Īn diagrama, terminalul elementului scalar dispare, iar terminalul elementului Array capata aspectul datelor pe care le va manipula.

          Īn exemplul din Figura 2, in elementul Array a fost introdus un element scalar de tip Numeric.

Fig. 2. Introducerea in Array a unui element de control de tip Numeric

 

La dispunerea sa in panou si dupa definirea tipului de date, un element de tip Array afiseaza, implicit, o singura valoare. Pentru a modifica numarul de valori afisate, se pozitioneaza cursorul mouse-ului pe un colt al elementului Array, astfel incat pe colturile acestuia sa apara patru simboluri "echer". La aparitia celor patru simboluri "echer", se apasa butonul stanga al mouse-ului si, tinandu-l apasat, se deplaseaza mouse-ul astfel incat sa se redimensioneze conturul elementului Array (Figura 3). Pe masura ce mouse-ul este deplasat, conturul redimensionat al elementului Array este marcat cu linie intrerupta.

Fig. 3. Redimensionarea elementului Array

 

Redimensionarea conturului se poate efectua atat pe verticala, cat si pe orizontala. Īn partea sa stanga, un element de tip Array dispune de un index. Acesta indica numarul de ordine al valorii afisate in pozitia superioara. Indicele primei valori dintr-un Array este 0. Imediat dupa definirea tipului de date, intr-un element Array nu se afla nici o valoare, fapt semnalizat prin afisarea speciala a elementelor pe care le contine. Desigur, utilizatorul poate interveni si introduce valori.

Implicit, la crearea sa, un Array are o singura dimensiune, putand fi descris drept o matrice cu o singura coloana sau cu o singura linie. Numarul sau de dimensiuni poate fi modificat cu ajutorul meniului contextual in care se afla optiunea Add Dimension. Odata ce un Array are mai mult de o dimensiune, se poate stabili afisarea mai multor linii si a mai multor coloane.

Pentru a lucra cu elementele de tip Array, se utilizeaza o serie de functii specifice.

Functia Initialize Array (Figura 4) genereaza un element Array cu una sau mai multe dimensiuni, continand aceeasi valoare (conectata la intrarea element) in toate pozitiile.

Fig. 4. Exemplificarea functiei Initialize Array

 

Numarul de valori de-a lungul unei dimensiuni se specifica la intrarea Dimension size a functiei. Atunci cand este dispusa in diagrama, functia are o singura intrare Dimension size, generand, astfel, un element Array cu o singura dimensiune.

Functia Build Array (Figura 5) concateneaza la un element Array una sau mai multe elemente cu un numar de dimensiuni imediat inferior. Atunci cand este dispusa in diagrama, functia are o singura intrare. Numarul dorit de intrari se obtine prin dimensionarea simbolului functiei.

Fig. 5. Exemplificarea functiei Build Array

 

Functia Interleave 1D Array (Figura 6) construieste un element Array cu o singura dimensiune prin intreteserea (interleave) mai multor Array-uri avand, de asemenea, o singura dimensiune.

Fig. 6. Exemplificarea functiei Interleave 1D Array

 

Elementul Array rezultat este format prin preluarea alternativa a cate unei valori din fiecare Array de intrare. La dispunerea in diagrama, functia contine doar doua intrari, dar numarul acestora poate fi modificat prin dimensionarea simbolului.

Functia Array Size (Figura 7) determina numarul de valori dintr-un element de tip Array cu una sau mai multe dimensiuni. Daca elementul Array de intrare are o singura dimensiune, iesirea functiei va fi o valoare scalara, iar daca la intrare este un Array cu N dimensiuni (N>1), iesirea functiei este un Array cu o dimensiune, continand N elemente. Spre exemplu, daca la intrarea functiei se conecteaza o matrice, iesirea functiei va fi un Array cu doua elemente, primul reprezentand numarul de linii si al doilea, numarul de coloane ale intrarii.

Fig. 7. Exemplificarea functiei Array Size

 

Functia Array Subset (Figura 8) extrage o portiune dintr-un element de tip Array. Pentru fiecare dimensiune a Array-ului de intrare, functia dispune de o intrare Index (pozitia din care va incepe extractia) si de o intrare Length (numarul de valori extrase de-a lungul dimensiunii respective).

Fig. 8. Exemplificarea functiei Array Subset

 

Functia Array Max & Min (Figura 9) determina valorile Maxim si Minim dintr-un Array de valori numerice, precum si indicii acestora. Daca Array-ul de intrare are mai multe dimensiuni, indicii valorilor extreme nu vor mai fi valori scalare, ci Array-uri cu un numar de valori egal cu numarul de dimensiuni ale Array-ului de intrare.

Fig. 9. Exemplificarea functiei Array Max & Min

 

Functia Insert Into Array (Figura 10) insereaza valori intr-un Array, incepand de la un indice specificat. Astfel, numarul acestor valori din Array creste. Functia poate mari numarul de valori din Array doar de-a lungul unei singure dimensiuni, astfel incat, daca inserarea urmeaza a se efectua intr-un Array cu N dimensiuni, se vor putea insera in acesta doar elemente cu N sau cu N-1 dimensiuni.

Fig. 10. Exemplificarea functiei Insert Into Array

 

Functia Delete From Array (Figura 11) sterge dintr-un Array o portiune de marime specificata (intrarea Length, cu valoare implicita 1), incepand de la un indice specificat (implicit ultimul element). Ştergerea se efectueaza doar de-a lungul unei singure dimensiuni: se sterg elemente dintr-un Array cu o dimensiune, linii sau coloane dintr-o matrice etc. (nu se poate sterge doar o singura valoare dintr-o matrice).

Fig. 11. Exemplificarea functiei Delete From Array

 

Functia dispune, atat de o iesire pentru Array-ul din care s-a realizat stergerea, cat si de o iesire pentru portiunea ce a fost stearsa. Numarul de dimensiuni ale celei de a doua iesiri variaza, fiind egal cu numarul de dimensiuni ale Array-ului de intrare, daca a fost conectata o valoare la intrarea Length, sau este cu o unitate mai mic decat numarul respectiv daca intrarea Length a fost lasata neconectata.

Functia Split 1D Array (Figura 12) divide un element Array unidimensional in doua Array-uri, locul in care se efectueaza divizarea fiind determinat de valoarea conectata la intrarea Index a functiei. Array-ul rezultat la iesirea First Subarray va contine valorile ce se aflau in Array-ul initial pe pozitiile 0, 1, ..., index-1.

Fig. 12. Exemplificarea functiei Split 1D Array

 

Functia Decimate 1D Array (Figura 13) imparte un Array intial intr-un numar de Array-uri egal cu numarul de iesiri. Initial, functia are doua iesiri, dar numarul acestora poate fi modificat prin dimensionarea simbolului functiei. Valorile din Array-ul initial sunt repartizate alternativ Array-urilor de iesire.

Fig. 13. Exemplificarea functiei Decimate 1D Array

 

 
Introducere

Contact: office@catia.ro
Top
Home Email