Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Создание масивом с применением функций MATLAB-а



Вы можете использовать для создания многомерных массивов такие функции MATLAB-а как randn, ones,и zeros, совершенно аналогично способу используемому для двумерных матриц. Каждый вводимый аргумент представляет размер соответствующей размерности в результирующем массиве. Например, для создания массива нормально распределенных случайных чисел размера 4х3х2 следует записать:

 

B = randn(4,3,2).

Для создания массива, заполненного единственным постоянным значением можно восполь-зоваться функцией repmat. Эта функция копирует массив (в нашем случае массив размера 1х1) вдоль вектора размерностей массива.

 

B = repmat(5,[3 4 2])

B(:, :, 1) =

5 5 5 5

5 5 5 5

5 5 5 5

B(:, :, 2) =

5 5 5 5

5 5 5 5

5 5 5 5

Внимание!Любая размерность массива может иметь размер 0, что просто дает пустой массив (empty array) . Так, размер 10х0х20 является допустимым размером многомерного массива.

Создание многомерного массива при помощи функции cat.

Функция catдает простой путь построения многомерных массивов; она объединяет набор массивов вдоль заданной размерности.

 

B = cat (dim,A1,A2...)

где А1,А2и т.д. являются объединяемыми массивами. а dimесть размерность, вдоль которой они объединяются. Например, для создания нового массива из двух двумерных матриц при помощи функции catзапишем

 

B = cat (3, [2 8; 0 5], [1 3; 7 9])

что дает трехмерный массив с двумя страницами

 

B(:, :, 1) =

2 8

0 5

B(:, :, 2) =

1 3

7 9

 

Функция cat принимает любые комбинации существующих и новых данных. Более того, вы можете осуществлять вложение данных функций. Приведенные ниже строки, к примеру, формируют четырехмерный массив:

 

A = cat (3, [9 2; 6 5], [7 1; 8 4])

B = cat (3, [3 5; 0 1], [5 6; 2 1])

D = cat (4, A, B, cat (3, [1 2; 3 4], [4 3; 2 1])).

 

Функция catавтоматически добавляет, при необходимости, единичные индексы между размерностями. Например, для создания массива размера 2х2х1х2 можно ввести

 

C = cat (4, [1 2; 4 5], [7 8; 3 2])

В данном случае функция cat вводит нужное число единичных размерностей для создания четырехмерного массива, чья последняя размерность не является единичной. Если бы аргумент dim был бы равен 5, последняя запись привела бы к массиву размера 2х2х1х1х2. Это добавляет еще одну единицу в индексации массива. Для обращения к значению 8 в четырехмерном случае нужно применить следующую индексацию

 

Индекс единичной размерности

Определение характеристик многомерных массивов.

Для получения информации об имеющихся многомерных массивах можно воспользоваться стандартными командами size (дает размер массива), ndims(дает количество размерностей) и whos(последняя команда дает подробную информацию о всех переменных рабочего пространства системы MATLAB). Для вышеприведенного примера мы получим

 

Size(C)

ans =

2 2 1 2

 

Ndims(C)

ans =

 

Индексация

Многие концепции, используемые в двумерном случае, распространяются также на много-мерные массивы. Для выделения (обращения) к какому-либо одному элементу многомерного массива следует воспользоваться целочисленной индексацией. Каждый индекс указывает на соответствующую размерность: первый индекс на размерность строк, второй индекс на раз-мерность столбцов, третий на первую размерность страниц и так далее. Рассмотрим массив случайных целых чисел nddataразмера 10х5х3:

 

nddata = fix (8*randn (10, 5, 3));

 

Для обращения к элементу (3,2) на странице 2 массива nddata нужно записать nddata(3,2,2).

Вы можете также использовать векторы как массив индексов. В этом случае каждый элемент вектора должен быть допустимым индексом, то есть должен быть в пределах границ, опре-деленных для размерностей массива. Так, для обращения к элементам (2,1), (2,3), и (2,4) на странице 3 массива nddata, можно записать

 

nddata (2, [1 3 4], 3).

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.