3D матрица в MATLAB
MATLAB е език, използван за технически изчисления. Както повечето от нас ще се съгласят, лесната за използване среда е задължителна за интегриране на задачите по изчисляване, визуализиране и накрая програмиране. MATLAB прави същото, като предоставя среда, която е не само лесна за използване, но и решенията, които получаваме се показват по отношение на математически обозначения, с които повечето от нас са запознати. В тази тема ще научим за 3D матрицата в MATLAB.
Използване на MATLAB Включва
- Изчислената
- Разработване на алгоритми
- моделиране
- симулация
- прототипи
- Анализ на данни (Анализ и визуализация на данни)
- Инженерна и научна графика
- Разработка на приложения
В тази статия ще разберем многоизмерни масиви в MATLAB и по-конкретно, триизмерна матрица в Matlab.
Многоизмерен масив
Това е масив в MATLAB, който има две или повече измерения. Може би вече знаете, че размерите на 2D матрица са представени от редове и колони.
Всеки елемент има два абонамента един е индексът на реда, а другият е индексът на колоните.
например (1, 1) елемент тук представлява номер на реда е 1, а номерът на колоната е 1.
Какво е 3-D матрица?
3-D Matrix е многоизмерен масив, който е разширение на двумерни матрици. Както можете да се досетите, те ще имат 3 абоната, един индекс, заедно с индекси на редове и колони, както за 2D матрицата. Третият индекс в 3D матрица се използва за представяне на листове или страници на елемент.
напр. тук елемент (2, 1, 1) представлява "Ред" номер 2 "Колона" номер едно и "Страница" номер 1.
Създаване на 3D матрица
Нека сега разберем как можем да създадем 3D матрица в MATLAB
За триизмерен масив първо създайте 2D матрица и след това я разширете до 3D матрица.
- Създайте 3 на 3 матрица като първа страница в 3-D масив (ясно можете да видите, че първо създаваме 2D матрица)
A = (11 2 7; 4 1 0; 7 1 5)
- Добавете втора страница сега. Това може да стане чрез присвояване на още една матрица 3 на 3 със стойност на индекса 2 в третото измерение
A (:, :, 2) = (1 2 5; 4 4 6; 2 8 1)
А (3 х 3)
A =
А (:, : 1) = | 11 | 2 | 7 |
4 | 1 | 0 | |
7 | 1 | 5 |
A (:, :, 2) = | 1 | 2 | 5 |
4 | 4 | 6 | |
2 | 8 | 1 |
Можем да използваме и функция, наречена котешка функция, за да създадем многоизмерни масиви.
Например: Създайте 3D масив с 3 страници с помощта на функция cat
X = котка (3, A, (3 7 1; 0 1 8; 2 5 4))
- Тук A е създадения по-горе 3D масив
- Аргументът на първо място (3) указва в коя посока масивът трябва да бъде свързан
- Тук свързването се извършва заедно със страниците
X =
X (:, :, 1) = | 11 | 2 | 7 |
4 | 1 | 0 | |
7 | 1 | 5 |
X (:, :, 2) = | 1 | 2 | 3 |
4 | 4 | 6 | |
2 | 8 | 1 |
X (:, :, 3) = | 3 | 7 | 1 |
0 | 1 | 8 | |
2 | 5 | 4 |
Сега, ако трябва да разширим допълнително този масив, можем просто да дадем елементите на 4-ти масив, които трябва да добавим:
За да разширим горния си пример, ние просто ще дадем,
B (:, :, 4) = (1 2 1; 3 9 1; 6 3 7) и изходът ще бъде:
X =
X (:, :, 1) = | 11 | 2 | 7 |
4 | 1 | 0 | |
7 | 1 | 5 |
X (:, :, 2) = | 1 | 2 | 3 |
4 | 4 | 6 | |
2 | 8 | 1 |
X (:, :, 3) = | 3 | 7 | 1 |
0 | 1 | 8 | |
2 | 5 | 4 |
X (:, :, 4) = | 1 | 2 | 1 |
3 | 9 | 1 | |
6 | 3 | 7 |
Как можем да получим достъп до елементите на масива?
За целта просто използвайте абонаменти като цели числа. Така 2, 3, 1 елемент от 3D матрица ще бъде елементът, присъстващ на 2-ри ред, 3-та колона на 1-ва страница
За да демонстрираме това, нека използваме 3D матрицата A, която използвахме по-горе,
Сега, access = A (2, 3, 1) ще ни даде 0 като изход
Функции за манипулиране на елементите на многоизмерен масив
MATLAB ни предоставя няколко функции за манипулиране на елементите на многоизмерен масив.
- променям
- размествам
Нека разберем тези по един:
1. Прекройте формата
Това е полезно главно по време на визуализация на данните
Например: Създайте 6 * 5 матрици, като използвате две 3 * 5 матрици
- A = (1 3 7 0 5; 2 0 4 1 3; 1 0 5 3 2);
- A (:, :, 2) = (1 7 2 5 0; 4 2 1 6 5; 1 1 4 5 0);
- B = промяна на формата (A, (6 5))
Това ще създаде 2D матрица с 6 реда и 5 колони:
B = 6 × 5
1 7 5 7 5
2 4 3 2 6
1 5 2 1 5
3 0 1 2 0
0 1 4 1 5
0 3 1 4 0
Както можете да забележите, RESHAPE ще работи в колона, така че първо всички елементи на A вземете по колоната, за първата страница. След това същото се прави и за 2-ра страница
2. Пермут
Можем да използваме тази функция, ако искаме да пренаредим размерите на матриците. т.е. смяна на редове с колони или обратно.
Пример за Пермута
- P (:, :, 1) = (3 5 3; 1 5 2; 0 8 5);
- P (:, :, 2) = (0 1 3; 6 7 1; 4 2 1)
Нека сега използваме функцията PERMUTE на P:
- M = пермут (P, (2 1 3))
Резултатът, който ще получим, ще има редове и колони, разменени както следва:
М1 =
М1 (:, :, 1) = | 3 | 1 | 0 |
5 | 5 | 8 | |
3 | 2 | 5 |
P1 (:, :, 2) = | 0 | 6 | 4 |
1 | 7 | 2 | |
3 | 1 | 1 |
Препоръчителни статии
Това е ръководство за 3D матрицата в MATLAB. Тук обсъждаме употребите на MATLAB, какво е 3 D матрица? и как да създадете 3D масиви в MATLAB, а също и някои манипулации върху тях. Можете също да разгледате следната статия, за да научите повече -
- Матрица в Matlab
- MATLAB Версия
- Вектори в Матлаб
- Типове данни в MATLAB
- Тип данни на кошера
- Типове данни PL / SQL