Методи об'єднання матриць у MATLAB: Повний посібник

Автор Dekez, Квт. 10, 2025, 03:10 PM

« попередня та - наступна тема »

Dekez

MATLAB є потужним інструментом для роботи з матрицями, і об'єднання матриць є однією з базових операцій, яку часто використовують у числових обчисленнях, обробці даних і моделюванні. У цій статті ми розглянемо основні методи об'єднання матриць у MATLAB, надамо приклади коду та додамо розділ із поширеними запитаннями (FAQs). Усе пояснення буде подано українською мовою, щоб зробити матеріал доступним для україномовних користувачів.

Що таке об'єднання матриць?
Об'єднання матриць — це процес комбінування двох або більше матриць у одну. У MATLAB матриці можна об'єднувати горизонтально (додаючи стовпці) або вертикально (додаючи рядки). Для цього використовуються спеціальні оператори та функції, які ми розглянемо нижче.

Основні методи об'єднання матриць
1. Горизонтальне об'єднання (за допомогою квадратних дужок [ ])
Горизонтальне об'єднання дозволяє розмістити матриці поруч, додаючи стовпці. Для цього матриці повинні мати однакову кількість рядків.

Приклад:
A = [1 2; 3 4]; % Матриця 2x2
B = [5 6; 7 8]; % Матриця 2x2
C = [A B]; % Горизонтальне об'єднання
disp(C);

Результат:
text
DaraltMetni gizleKopyala
1 2 5 6
3 4 7 8

2. Вертикальне об'єднання (за допомогою квадратних дужок [ ; ])
Вертикальне об'єднання додає рядки однієї матриці під рядки іншої. Для цього матриці повинні мати однакову кількість стовпців.

Приклад:
A = [1 2 3]; % Матриця 1x3
B = [4 5 6]; % Матриця 1x3
C = [A; B]; % Вертикальне об'єднання
disp(C);

Результат:
text
DaraltMetni gizleKopyala
1 2 3
4 5 6

3. Використання функцій horzcat і vertcat
Ці функції є альтернативою квадратним дужкам і дозволяють об'єднувати матриці явно.
  • horzcat: Горизонтальне об'єднання.
  • vertcat: Вертикальне об'єднання.

Приклад:
A = [1 2; 3 4];
B = [5 6; 7 8];
C_horz = horzcat(A, B); % Горизонтально
C_vert = vertcat(A, B); % Вертикально

disp('Горизонтальне об'єднання:');
disp(C_horz);
disp('Вертикальне об'єднання:');
disp(C_vert);

Результат:
Горизонтальне об'єднання:
1 2 5 6
3 4 7 8

Вертикальне об'єднання:
1 2
3 4
5 6
7 8

4. Об'єднання з використанням коми та крапки з комою
У MATLAB кома (,) використовується для горизонтального об'єднання, а крапка з комою ( ; ) — для вертикального.

Приклад:
A = [1 2];
B = [3 4];
C = [A, B]; % Горизонтально
D = [A; B]; % Вертикально

disp('Горизонтально:');
disp(C);
disp('Вертикально:');
disp(D);

Результат:
Горизонтально:
1 2 3 4

Вертикально:
1 2
3 4

5. Об'єднання матриць різного розміру з заповненням
Якщо матриці мають різні розміри, можна використати функцію padarray для вирівнювання розмірів перед об'єднанням.

Приклад:
A = [1 2]; % 1x2
B = [3 4 5]; % 1x3
A_padded = padarray(A, [0 1], 0, 'post'); % Додаємо нуль до A
C = [A_padded; B];
disp(C);

Результат:
1 2 0
3 4 5


Практичний приклад: Аналіз даних
Припустимо, у вас є дані про температуру в двох містах за три дні. Ви хочете об'єднати ці дані в одну матрицю:
kyiv = [15 18 20]; % Температура в Києві
lviv = [12 16 19]; % Температура у Львові
temperature = [kyiv; lviv]; % Вертикальне об'єднання

disp('Температура за днями:');
disp(temperature);

Результат:
Температура за днями:
15 18 20
12 16 19


FAQ: Поширені запитання
1. Що робити, якщо матриці мають різні розміри?
MATLAB видасть помилку, якщо розміри не збігаються. Ви можете використати padarray або обрізати матриці за допомогою індексації (наприклад, A( 1:2, : )).

2. Чи можна об'єднати більше двох матриць одночасно?
Так, можна об'єднати кілька матриць за один раз:
A = [1 2];
B = [3 4];
C = [5 6];
D = [A B C];
disp(D); % Виведе: 1 2 3 4 5 6

3. Як перевірити розмір матриці перед об'єднанням?
Використовуйте функцію size:
A = [1 2; 3 4];
disp(size(A)); % Виведе: 2 2

4. Чи є різниця між horzcat і квадратними дужками?
Функціонально вони однакові, але horzcat зручний, коли матриці передаються як аргументи функції.

5. Як об'єднати матриці з текстовими даними?
Для роботи з текстом використовуйте масиви символів або клітинні масиви:
A = {'Київ', 'Львів'};
B = {'15', '12'};
C = [A; B];
disp(C);

Результат:
'Київ'  'Львів'
'15'    '12'


Висновок
Об'єднання матриць у MATLAB — це проста, але надзвичайно корисна операція, яка дозволяє гнучко працювати з даними. Основні методи, такі як використання квадратних дужок, horzcat і vertcat, покривають більшість потреб. Спробуйте експериментувати з прикладами, щоб краще зрозуміти, як ці методи працюють у реальних задачах!