Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычисление нормы и чисел обусловленности матриц...docx
Скачиваний:
58
Добавлен:
13.08.2019
Размер:
100.25 Кб
Скачать

Создание страниц, заполненных константами и случайными числами

Если после знака присваивания стоит численная константа, то соответствующая часть массива будет содержать элементы, содержащие данную константу. Например, создадим из массива М (см. пример выше) массив, у которого вторая страница содержит единицы:

»M(:,:,2)=1

М(:,:,1) =

10 11 12

13 14 15

16 17 18

М(:,:,2) =

1 1 1

1 1 1

1 1 1

А теперь заменим первую страницу массива на страницу с нулевыми элементами:

»M(:,:,1)=0

M(:,:,1)=

0 0 0

0 0 0

0 0 0

М(:,:,2) =

1 1 1

1 1 1

1 1 1

Объединение массивов

Для создания многомерных массивов служит описанная специальная функция конкатенации cat:

cat(DIM,A,B) — возвращает результат объединения двух массивов А и В вдоль размерности DIM;

cat(2.A.B) — возвращает массив [А.В], в котором объединены ряды (горизонтальная конкатенация);

cat(1, А.В) — возвращает массив [А:В], в котором объединены столбцы (вертикальная конкатенация);

B=cat(DIM.Al,A2,...) — объединяет множество входных массивов Al, A2,... вдоль размерности DIM.

Функции cat(DIM,C{:}) и cat(DIM.C.FIELD) обеспечивают соответственно конкатенацию (объединение) ячеек массива ячеек или структур массива структур, содержащих числовые матрицы, в единую матрицу. Ниже приводятся примеры применения функции cat:

» М1=[1 2;3 4]

M1=

1 2

3 4

» М2=[5 6;7 8]

М2 =

5 6

7 8

» cat(1,M1,M2)

ans =

1 2

3 4

5 б

7 8

» cat(2.M1.M2)

ans=

1 2 5 6

3 4 7 8

» M-cat(3.Ml.M2) M(:,:.l) =

1 2

3 4

М(:,:,2) =

5 6

7 8

Вычисление числа размерностей массива и определение размера размерностей

вв

Функция ndims(A) возвращает размерность массива А (если она больше или равна двум). Но если входной аргумент — массив Java или массив массивов Java, то независимо от размерности массива эта функция вернет 2. Следующий пример иллюстрирует применение функции ndims:

» M=rand(2:3:4:5)

» ndims(M)

ans =

4

Для вычисления размера каждой размерности массива используется функция size:

М = size(A.DIM) возвращает размер размерности, указанной скаляром DIM, в виде вектора-строки размером 2. Для двумерного или одномерного массива А size(A.l) возвращает число рядов, a size (А, 2) - число столбцов;

Для N-мерных массивов А при n>2 size(A) возвращает N-мерный вектор-строку, отражающий страничную организацию массива, последняя составляющая этого вектора равна N. В векторе отсутствуют данные о единичных размерностях (тех, где расположены вектор-строка или вектор-столбец, т. е. size(A,DIM)==l). Исключение представляют N-мерные массивы Java массивов javaarray, которые возвращают размер массива самого высокого уровня.

Вообще, когда входным аргументом size является javaarray, то возвращаемое число столбцов всегда 1, а число рядов (строк) равно размеру (длине) javarray.

[Ml, М2 ,МЗ,..., MN] = size(A) возвращает размер первых N размерностей массива А;

D = size (А), для mxn матрицы А возвращает двухэлементный вектор-строку, в котором первая составляющая — число строк т, а вторая составляющая — число столбцов n;

[m.n] = size(A) возвращает число рядов и столбцов в разных выходных параметрах (выходных аргументах в терминологии MATLAB) тип.

http://www.realcoding.net/teach/Matlab/Glava%2013/Index11.htm