
- •Вычисление нормы и чисел обусловленности матрицы
- •Определитель и ранг матрицы
- •Определение нормы вектора
- •Определение ортонормированного базиса матрицы
- •Функции приведения матрицы к треугольной форме
- •Определение угла между двумя подпространствами
- •Вычисление следа матрицы
- •Разложение Холецкого
- •Обращение матриц
- •Вычисление собственных значений и сингулярных чисел
- •Понятие о многомерных массивах
- •Применение оператора «:» в многомерных массивах
- •Доступ к отдельному элементу многомерного массива
- •Удаление размерности в многомерном массиве
- •Создание страниц, заполненных константами и случайными числами
- •Объединение массивов
- •Вычисление числа размерностей массива и определение размера размерностей
Создание страниц, заполненных константами и случайными числами
Если после знака присваивания стоит численная константа, то соответствующая часть массива будет содержать элементы, содержащие данную константу. Например, создадим из массива М (см. пример выше) массив, у которого вторая страница содержит единицы:
»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