Definitii
Vectorii, matricile si clusterele se utilizeaza pentru gruparea datelor intr-un singur obiect.
Matricea este o reuniune de elemente de acelasi tip avand una sau mai multe dimensiuni si maximum 231-1 elemente pe o dimensiune. Matricile cu o singura dimensiune se numesc vectori. Matricile pot fi:
de numere,
de booleene,
de siruri de caractere,
de clustere,
de cai
de forme de unda
Nu se admit matrici de matrici. Totusi pot exista matrici de clustere unde elementele clusterului sunt tot matrici.
Matricile sunt foarte utile la colectarea datelor in forme de unda si la obtinerea rezultatelor din bucle, unde la fiecare rulare a buclei se genereaza cate un element al matricii.
Elementele unei matrici sunt ordonate. Fiecare element al matricii se acceseaza prin index. Indexul unei dimensiuni porneste intotdeauna de la 0, care este primul element al dimensiunii.
Clusterul este o reuniune de elemente diferite, dar cu dimensiune fixa. In cluster pot face parte orice tipuri de date. Toate trebuie insa sa provina fie de la controlere, fie de la indicatoare. Asadar, sunt fie clustere controler, fie clustere indicator.
Clusterele se utilizeaza pentru:
transportul datelor diferite pe distante mari pe DB utilizand un singur traseu de date
reducerea numarului de intrari si/sau iesiri dintr-un subVI.
Crearea unui controler sau indicator de tip matrice
Se plaseaza pe PF obiectul denumit Array. In acest moment avem pe PF cadrul matricii cu indexul, fara elemente. Implicit, dimensiunea este 1 (vector).
Pentru adaugarea elementelor, vom prelua din paleta de controlere tipul de element care ne intereseaza, de exemplu un numeric. Cu MS se apropie controlerul de dreptunghiul de culoare gri, pana cand acesta este bordat de o linie punctata, dupa care se plaseaza controlerul in regiunea respectiva. Acum am stabilit tipul de date din matrice (numerice de ex.), insa elementele din interior nu au valoare, deci matricea este vida.
Valoarea elementelor se stabileste ca la un controler obisnuit, element cu element.
Indexul matricii este cel din stanga elementelor. In fig. 1 avem o matrice cu o dimensiune, deci un vector.
In fig. 2 avem o matrice cu doua dimensiuni. Adaugarea unei dimensiuni la o matrice se poate face in doua moduri:
se deschide meniul pop-up al indexului (MD pe index) si se selecteaza Add Dimension.
se apropie unealta 2) de index pana cand apar colturile unui dreptunghi, dupa care se tine apasat MS si se trage in jos de unul din colturi.
Primul index reprezinta numarul liniei pe care se afla elementul afisat, iar cel de-al doilea index este numarul coloanei pe care se afla elementul. Indexul porneste intotdeauna de la 0. De exemplu, o matrice cu m linii si n coloane va avea indexul ultimului element (m-1, n-1).
Pentru a vizualiza mai multe elemente odata se apropie unealta 2) de
marginea elementului pana cand apar colturile unui dreptunghi si
se trage de coltul din dreapta jos tinand apasat MS. Se pot
astfel vizualiza oricate linii si coloane dorim, inclusiv cele care nu au
elemente. Indexul ne arata pozitia elementului din stanga-sus. In
exemplul din fig. 2, -5 este elementul aflat pe linia 1 si
coloana 2.
Atentie! La apropierea uneltei 2) de elementul unei matrici apar doua tipuri de colturi de dreptunghi. Daca dreptunghiul inconjoara toate elementele matricii, ca in fig. 3a, se obtine afisarea mai multor elemente ale matricii concomitent, iar daca dreptunghiul inconjoara doar un element, se obtine redimensionarea elementelor matricii (fig. 3b).
Operatiile si functiile cu matrici se gasesc in Paleta de functii, submeniul Array. Acestea sunt:
Array Size returneaza numarul de elemente de pe fiecare dimensiune a unei matrici
Index Array returneaza valoarea elementului de la indexul specificat
Replace Array Subset inlocuieste o submatrice a matricii initiale cu o alta
Insert into Array insereaza un element sau o submatrice intr-o matrice, incepand de la un anumit index
Delete from Array sterge un element sau o submatrice dintr-o matrice
Initialize Array returneaza o matrice n-dimensionala in care fiecare element este initializat cu o anumita valoare.
Build Array construieste o matrice pornind de la elementele sale
Array Subset returneaza o submatrice a matricii date pornind de la un anumit index
Rotate 1D Array roteste elementele unui vector
Reverse 1D Array inverseaza ordinea elementelor unui vector
Search 1D Array cauta un element intr-un vector
Split 1D Array divizeaza un vector in alti doi subvectori pornind de la un index
Sort 1D Array sorteaza elementele unui vector in ordinea ascendenta
Array Max & Min returneaza valoarea maxima si minima a unei matrici, impreuna cu indecsii corespunzatori
Transpose 2D Array realizeaza transpusa unei matrici bidimensionale
Interpolate 1D Array returneaza valoarea calculata prin interpolare a unui element al unui vector, corespunzatoare unui index fractionar. Interpolarea intre elementele adiacente este liniara.
Threshold 1D Array cauta o pereche de elemente adiacente dintr-un vector astfel incat primul element sa fie mai mic decat un prag dat si al doilea element sa fie mai mare. Realizeaza interpolarea intre cele doua elemente si returneaza indexul fractionar unde se gaseste pragul.
Se
utilizeaza functia Index Array,
iar la index se leaga doar numarul liniei sau a coloanei care ne
intereseaza. Daca se leaga ambii indecsi, se
returneaza valoarea elementului de la indexul respectiv (v. exemplul din
fig. 4).
Particularitati ale functiei Build Array
1) Daca la intrarea unei functii Build Array se leaga o matrice, la iesire se obtine o matrice cu o dimensiune in plus (fig. 5).
2)
Daca la
intrarile unei functii Build
Array se leaga mai multe matrici (vectori), sunt posibile
urmatoarele:
daca intrarile sunt de aceeasi dimensiune si optiunea Concatenate Inputs din meniul pop-up al functiei Build Array nu este validata, se obtine la iesire o matrice cu o dimensiune mai mult, la care intrarile sunt considerate elemente (daca se apropie unealta 4) de una din intrari, apare scris Input element)
daca se specifica optiunea Concatenate Inputs, se realizeaza o alipire a intrarilor, obtinandu-se o matrice cu aceeasi dimensiune.
Nota: Alte operatii si functii cu matrici si vectori se gasesc in: Mathematics Linear Algebra si Mathematics Array Operations
Crearea unui cluster pe PF se face din submeniul Array & Cluster de pe paleta de controlere.
Se plaseaza pe PF un obiect de tip Cluster, reprezentat printr-un dreptunghi vid.
Se aduc in acest dreptunghi elementele ce vor fi continute in cluster
Se aranjeaza elementele spatial prin deschiderea meniului pop-up al clusterului (MD exact pe marginea dreptunghiului) si selectand Autosizing cu una din cele 4 optiuni.
Elementele din cluster sunt ordonate. Ordinea initiala este cea in care au fost introduse in cluster. Tot aceasta este ordinea in care clusterul va fi desfacut in elemente componente cu functia Bundle.
Reordonarea elementelor se face din meniul pop-ul Reorder Controls in Cluster.
Elementele se inmanunchiaza in clustere pentru a putea fi mai usor transportata informatia in interiorul unui IV sau intre IV-uri, deoarece clusterul este tratat ca un singur obiect, mult mai usor de manipulat.
Utilizarea informatiei din cluster se face insa doar dupa ce acesta a fost desfacut. Functiile cu care se realizeaza desfacerea clusterului sunt: Unbundle si Unbundle by Name, care se gasesc in paleta de functii, submeniul Cluster.
Functia Unbundle realizeaza desfacerea tuturor elementelor din cluster, iar Unbundle by Name extrage din cluster doar elementul specificat prin eticheta.
Reformarea clusterului se face din elementele componente cu functiile Bundle si Bundle by Name. In acelasi submeniu mai sunt si alte functii care se vor studia individual.
|