|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
|
Раздел "MATLAB\MATLAB"
В.Г.Потемкин "Введение в Matlab" (v 5.3) В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель 5.2. Формирование многомерных массивов Для создания многомерных массивов можно использовать те же приемы индексирования и применения встроенных функций, которые используются при создании двумерных массивов. Тем не менее в системе MATLAB добавлена специальная функция cat, которая позволяет сформировать структуру многомерного массива. Таким образом, можно определить три подхода к созданию многомерных массивов:
Использование индексов. Один из способов формирования многомерного массива вытекает из его представления как совокупности 2-мерных массивов, размещаемых на новых страницах. Он состоит в том, чтобы просто добавлять новые размерности для формирования нужных страниц (3-ю, 4-ю, 5-ю и т. д.). Пример. A = [5 7 8; 0 1 9; 4 3 6];
Этот массив имеет размерность 2 и размер 3х3. Добавим новую страницу в третьей размерности массива с помощью следующего оператора присваивания A(:, :, 2) = [1 0 4; 3 5 6; 9 8 7]
A(:, :, 2) =
Сформирован массив А размерности 3 и размера 3х3х2. Можно продолжить добавлять строки, столбцы и страницы с целью формирования многомерных массивов различных размерностей и размеров. Для изменения размерности многомерного массива нужно:
Реализованный в системе MATLAB механизм присваивания скаляра массиву вместе с механизмом индексации позволяет заполнять целые страницы массива, используя одно число. Пример. A(:, :, 3) = 5
Рис. 5.4. 3-мерный массив размера 3х3х3. Дополним массив А четвертой размерностью, введя A(:, :, 1, 2) = [1 2 3; 4 5 6; 7 8 9];
Рис. 5.5. 4-мерный массив размера 3х3х3х2. Использование встроенных функций. Такие встроенные функции системы MATLAB, как randn, ones и zeros, могут быть использованы для формирования многомерных массивов, поскольку каждый аргумент такой функции определяет размер соответствующего измерения. Пример. Сформировать 3-мерный массив нормально распределенных случайных чисел размера 4х3х2: B = randn(4, 3, 2)
B(:, :, 2) =
Чтобы сформировать массив, заполненный константой, удобно применить функцию repmat. Эта функция использует заданный массив (в случае константы - размера 1х1) для формирования многомерного массива в соответствии с его размерностью: B = repmat(5, [3 4 2])
B(:, :, 2) =
Замечание: Если хотя бы одна из размерностей массива имеет значение 0, то это означает, что многомерный массив - пустой. Использование функции cat. Применение функции cat существенно упрощает формирование многомерных массивов, поскольку позволяет задать размещение 2-мерных массивов вдоль указанной размерности, используя следующий синтаксис: B = cat(dim, A1, A2 ...), Пример. Сформируем 3-мерный массив, который объединяет два 2-мерных массива размера 2х2: B = cat(3, [2 8; 0 5], [1 3; 7 9])
B(:, :, 2) =
Функция cat допускает использование любых комбинаций существующих и вновь вводимых данных. Пример. Сформировать 4-мерный массив D с помощью следующей последовательности операторов cat: A = cat(3, [9 2; 6 5], [7 1; 8 4]);
Рис. 5.6. 4-мерный массив размера 2х2х2х3. Функция cat автоматически добавляет промежуточные индексы, равные 1, если в этом возникает необходимость. Пример. Сформировать 4-мерный массив, разместив вдоль четвертой размерности два массива размера 2х2: C = cat(4, [1 2; 4 5], [7 8; 3 2])
Рис. 5.7. 4-мерный массив размера 2х2х1х2. Сформированный 4-мерный массив имеет размер 2х2х1х2. Если бы аргумент dim был равен 5, то был бы сформирован 5-мерный массив размера 2х2х1х1х2. С учетом принятых допущений его можно было бы изобразить следующим образом
----------------------------------------------------------
Рис. 5.8. 5-мерный массив размера 2х2х1х1х2. Характеристики многомерного массива. Для получения информации о характеристиках многомерного массива используются следующие функции:
В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|