Операции с векторами и матрицами

В MATLAB имеется ряд встроенных функций, позволяющих формировать векторы и матрицы определенного вида. Перечислим некоторые из них:

eye(m, n) — возвращают единичную матрицу размера m x n с единицами по диагонали и нулями в остальных ячейках;

ones(m, n) — возвращают матрицу размера m x n, состоящую из единиц;

zeros(m, n) — возвращают матрицу размера m x n, состоящую из нулей;

linspace(a, b, n) — генерирует n точек, равномерно распределенных в интервале от а до b;

rand(m, n) — генерирует матрицу случайных чисел размера m x n из промежутка (0, 1), используя равномерный закон распределения; rand () без аргументов возвращает одно случайное число;

В приведенных выше функциях (кроме linspace( n)) в качестве аргумента допустимо использовать size(A), что позволит формировать результирующую матрицу того же размера и размерности, что и А.

cat (dim, А, В) — реализует конкатенацию (объединение) массивов А и В в соответствии со спецификацией размерности dim и возвращает объединенный массив. При этом, при dim = 1 происходит горизонтальная конкатенация, при dim = 2 — вертикальная.

X = diag(v) — помещает вектор v на главную диагональ квадратной матрицы X и нули в остальные ячейки;

v = diag(X) — возвращает главную диагональ матрицы X;

repmat (А, m, n) — возвращает матрицу В размера m x n, в которой каждый элемент заменяется на копию матрицы А); если А — скаляр, то функция возвращает матрицу размера m x n со значениями элементов, заданных А;

tril(X, k) — возвращает матрицу, все элементы которой, расположенные выше k-й диагонали, заменены нулями, а нижняя треугольная часть матрицы X, включая указанную диагональ, остается неизменной. При k=0 это главная диагональ, при k>0 — одна из верхних диагоналей, при k<0 — одна из нижних диагоналей. По умолчанию к = 0.

triu(X. k) — возвращает неизменной верхнюю треугольную часть матрицы X, начиная с k-й диагонали, остальные элементы заменяются нулями. При k=0 — это главная диагональ, при k>0 — одна из верхних диагоналей, при k<0 — одна из нижних диагоналей;

magic(n) – возвращает так называемый магический квадрат – квадратную матрицу размера n x n, в которой сумма значений элементов по строкам, столбцам, а также сумма элементов главной и побочной диагонали равны.

Помимо перечисленных функций в системе имеется еще ряд встроенных функций для операций над векторами и матрицами:

prod (A, dim) — возвращает произведение элементов массива А по столбцам при dim=l или по строкам при dim=2;

sum(A, dim) — возвращает сумму элементов массива A по столбцам (dim=1) или по строкам (dim=2).

cross(U, V) — возвращает векторное произведение векторов U и V в трехмерном пространстве;

dot(U, V) — возвращает скалярное произведение векторов U и V;

transpose(X) – транспонирование вектора/матрицы Х;

trace(X) – возвращает след матрицы Х, т. е. сумму ее диагональных элементов;

isequal(U ,V) – проверка равенства векторов/матриц U и V;

norm(X, dim) – возвращает норму вектора Х, при dim=1 – первую норму ( операции с векторами и матрицами - student2.ru ), при dim=2 – евклидову (вторую) норму ( операции с векторами и матрицами - student2.ru ), при dim=3 – бесконечную норму( операции с векторами и матрицами - student2.ru );

det(X) – возвращает определитель матрицы X;

inv(X) – возвращает матрицу, обратную к матрице X;

rank (X) – возвращает ранг матрицы X.

Весьма представителен в MATLAB набор матричных функций. Перечислим некоторые из них:

ехрт(Х) — возвращает операции с векторами и матрицами - student2.ru от матрицы X;

sqrtm(X) – возвращает логарифм матрицы;

logm(X) – возвращает квадратный корень из X, соответствующий неотрицательным действительным частям собственных значений X.

ЧИСЛЕННЫЕ МЕТОДЫ

Наши рекомендации