Учебно-методическое пособие к практикуму по курсу «Пакеты компьютерной алгебры»


cat(направление, матрица_1, матрица_2,…,матрица_n)



Pdf көрінісі
бет4/11
Дата17.10.2022
өлшемі1,25 Mb.
#43716
түріУчебно-методическое пособие
1   2   3   4   5   6   7   8   9   10   11
Байланысты:
MATLAB Kurbatova Pustovalova

cat(направление, матрица_1, матрица_2,…,матрица_n) 
Параметр направление может принимать значение 1, что соответствует 
объединению по вертикали, 2 – горизонтали, 3 – объединить вдоль третьей 
оси.
Пример 27. Объединение матриц по горизонтали 
clear, clc 
% Задание матриц 
M1=[1 2; 3 4], M2=[5 6 7; 8 9 10]
% Объединение по горизонтали с помощью
% квадратных скобок
[M1 M2] 
% Объединение по горизонтали с помощью функции cat
cat(2,M1,M2) 
Пример 28. Объединение матриц по вертикали 
clear, clc 
% Задание матриц 


22 
M3=[1 2 3], M4=[5 6 7; 8 9 10]
% Объединение по горизонтали с помощью
% квадратных скобок
[M3; M4] 
% Объединение по горизонтали с помощью функции cat
cat(1,M3,M4) 
Пример 29. Объединение матриц вдоль третьей оси 
clear, clc 
% Задание матриц 
M5=[1 2; 3 4], M6=[5 6; 8 9]
% Сложение в «стопку» с помощью функции cat
cat(3,M5,M6) 
С помощью функции inv и операции возведения в степень -1 можно 
найти обратную матрицу. 
Пример 30. Нахождение обратной матрицы
A=[1 2; 0 2] 
inv(A) 
A^(-1) 
Часто используемые матричные функции
Рассмотрим некоторые часто применяемые матричные функции, 
такие как sum, prod, diag, fliplr, rot90, reshape, repmat, 
blkdiag.
Пример 31. Сумма по столбцам 
clear 
clc 
A=[1 2; 3 4] 
sum(A) 
При исполнении примера #31, получим результат – два числа 4 и 6, что 
соответствует суммам элементов в столбцах. Чтобы получить суммирование 


23 
по строкам, необходимо указать второй параметр в функции sum, а именно 
2. 
Пример 32. Сумма по строкам 
clear, clc 
A=[1 2; 3 4] 
sum(A,2) 
Пример 33. Сумма всех элементов матрицы 
clear, clc 
A=[1 2; 3 4] 
sum(sum(A)) 
Чтобы найти произведение элементов матрицы, используйте функцию prod.
Пример 34. Произведение элементов матрицы 
clear, clc 
A=[1 2; 3 4] 
prod(A) 
prod(A,2) 
prod(prod(A)) 
Функция diag позволяет выделить диагонали матрицы, если аргумент 
функции – матрица, либо построить матрицу с заданной диагональю, если 
аргумент - вектор.
Пример 35. Выделение диагоналей матрицы 
clear, clc 
A=[1 2 3; 1 2 3; 1 2 3] 
% Выделение главной диагонали 
diag(A) 
% Выделение побочной диагонали, расположенной ниже 
главной 
diag(A,-1) 
% Выделение побочной диагонали, расположенной выше 
главной 
diag(A,1) 


24 
Пример 36. Построение матрицы на основе заданной диагонали 
clear, clc 
d1=[1 2 3] 
% элементы d1 будут располагаться на главной диагонали 
diag(d1) 
% элементы d1 будут располагаться ниже
% главной диагонали 
diag(d1(2:3),-1) 
% элементы d1 будут располагаться выше
% главной диагонали 
diag(d1(2:3),1) 
Функции fliplr и rot90 позволяют отражать и поворачивать векторы и 
матрицы. Покажем их работу на примере. 
Пример 37. Функции fliplr и rot90 
clc, clear 
d1=[1 2 3],d2=[11 12 13] 
rot90(d1) 
fliplr(d2) 
a1=[10 2 3; 40 5 6; 70 8 9] 
fliplr(a1) 
a2=[10 20 30; 4 5 6; 7 8 9] 
rot90(a2) 
С помощью функции reshape можно изменить форму – размерность 
массива, количество элементов массива при этом остается неизменным. 
Пример 38. Функция reshape 
clc, clear 
d=1:12 
size(d) 
d=reshape(d,3,4) 
size(d) 
d=reshape(d,4,[]) 
size(d) 


25 
d=reshape(d,12,1) 
size(d) 
Функция repmat позволяет задавать новую матрицу с помощью реплициро-
вания (повторения) исходной матрицы в соответствии с заданной размерно-
стью. 
Пример 39. Функция repmat 
d=1:3 
d1=repmat(d,2), d2=repmat(d,2,3) 
С помощью функции blkdiag выполняют построение блочно-диагональных 
матриц, а с помощью функции spy можно отобразить структуру матрицы, её 
ненулевые элементы. 
Пример 40. Функция blkdiag 
clc, clear 
m1=[1 2; 3 4], m2=[10 20 30; 40 50 60],
m3=[2 4 6; 1 3 7; 5 4 3] 
% Формирование блочно-диагональной матрицы
m=blkdiag(m1,m2,m3) 
% Визуализация структуры матрицы
spy(m) 
В некоторых примерах, приведенных выше, использовалась функция size
возвращающая количество строк и количество столбцов объекта. Функция 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет