Масиви у LabVIEW 3


Масиви – дуже корисна штука для роботи з даними, а у LabVIEW масиви реалізовано взагалі дуже гарно. Почнемо з того, що таке масив. Масивом називається структура, що об’єднує в собі багато даних одного типу, тобто може бути масив чисел, масив букв, наприклад. У LabVIEW можуть бути також масиви візуальних компонентів: кнопок, індикаторів, тощо.

Функції (вузли) для роботи з масивами знаходяться у палітрі “All Functions” -> “Array”, а єдиний візуальний компонент – масив-константа заховався у палітрі “All Controls”->”Array & Cluster”. У LabVIEW масиви представлено у вигляді такої-собі рамки, всередину якої можна помістити якусь величину. Початково масив не має типу, це просто контейнер. Певного типу даних масив набуває тоді, коли в нього розміщують об’єкт цього типу.

 

Масиви в LabVIEW

Масиви в LabVIEW

Отож зліва вгорі: порожній контейнер-масив, внизу – цей же контейнер, коли в нього помістили візуальний компонент – масив індикаторів. Справа вгорі піктограма пустого масиву-контейнера (візуальний лівіше, невізуальний – правіше), внизу – піктограма масиву індикаторів (зліва) та масиву чисел (справа).

Для роботи з масивами у LabVIEW призначено цілий ряд функцій, про які розкажу трохи детальніше.

 

Функції LabVIEW для роботи з масивами

Функції LabVIEW для роботи з масивами

Отож, зліва направо і згори донизу.

Перша функція Array Size – повертає кількість елементів у масиві. Якщо масив одновимірний, то результат буде числом, якщо розмірність масиву більша, то результатом буде масив, що містить кількість елементів по кожній розмірності. Може трохи заплутано, але логічно.

Наступна функція Index Array – повертає елемент масиву за його номером. На вхід подаємо відповідно масив і потрібний індекс, а на виході отримуємо елемент із цим індексом. Не забуваємо, що нумерація елементів масиву починається з нуля.

Йдемо далі. Функція Replace Array Subset дозволяє замінити частину масиву іншими даними. На вхід подаємо початковий масив, індекс елементу, з якого слід проводити заміну, та масив (або одне значення), які слід вставити до початкового масиву. На виході отримуємо змінений масив.

Щось схоже роблять дві наступні функції, які я опишу разом: Insert Into Array та Delete From Array – вони дозволяють вставити дані у масив з потрібної позиції, та видалити частину даних із масиву. В другому випадку отримуємо і відредагований масив і видалену порцію у окремому масиві.

Функція Initialize Array, як на мене, досить непотрібна – вона дозволяє створити масив, уже заповнений однаковими даними, функція Build Array об’єднує декілька окремих елементів у масив, а Array Subset навпаки виокремлює частину даних із масиву, (різниця від Delete From Array у тому, що з початкового масиву дані не зникають).

Наступні функції потрібні виключно при роботі з одновимірними масивами (що видно з їх назв). Rotate 1D Array дозволяє здійснити циклічний зсув елементів масиву (задаємо кількість елементів, які з кінця масиву перекочують на його початок, посунувши всі інші ближче до кінця), а Reverse 1D Array просто “віддзеркалює” масив.

Search 1D Array дозволяє визначити, чи зустрічається у масиві певний підмасив (входження підмасиву). Можна задати початковий індекс для пошуку, пропустивши частину даних. А отримуємо порядковий номер (індекс) елемента, з якого починається входження. Split 1D Array розділяє масив на два з потрібної позиції, а Sort 1D Array сортує масив у порядку зростання.

Корисною є також функція Array Max & Min – вона повертає найбільший та найменший елементи масиву, причому як саме значення, так і порядковий номер.

Функція Transpose 2D Array служить для транспонування двовимірного масиву (простіше кажучи, просто повертає його на 90 градусів, міняючи відповідні індекси місцями, таким чином масив А[i,j] стає масивом A'[j,i]). Іноді буває корисною.

Функція Interpolate 1D Array дозволяє знайти деяку величину на основі лінійної інтерполяції елементів масиву, а що робить Transpose 1D Array я, чесно кажучи, пояснити не можу. Не користувався жодного разу 🙂 Як, між іншим, функціями Interleave 1D Array та Decimate 1D Array, які служать для утворення одного масиву з кількох, та розкладання масиву на кілька. Причому це робиться десь наступним чином: скажімо, ми розбиваємо масив на 5 частин. Тоді першим елементом першого масиву буде перший елемент початкового, першим елементом другого масиву – другий елемент початкового і т.д. Другим елементом першого масиву буде шостий елемент і так далі. Аналогічно і зі склеюванням підмасивів докупи.

Ну і, нарешті, останній рядочок (тут взагалі все просто). Першою йде масив-константа (та сама “рамочка”), далі дві функції для взаємного перетворення масивів у кластери і навпаки (про кластери розповім пізніше). І останньою стоїть функція Reshape Array, яка дозволяє “змінити форму”, тобто розмірність, масиву. Так можна із одновимірного масиву зробити двовимірний.

Поки все. Далі я розповім про те, як працювати з масивами, тому раджу підписатися на RSS або новини у соціальних мережах.

Почитайте ще оце:


Залиште коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

3 thoughts on “Масиви у LabVIEW