Основы работы с матрицами в системе MatLab

Создание матриц:

1. Матрица строка. Указывается переменная, ставится знак присвоения и в квадратных скобках через запятую или пробел перечисляются элементы:

>> C = [1 2 3]; >>D=[5,6,7,9];

2. Матрица столбец. В качестве разделителя элементов применяется символ «;»:

>> С = [5; 8; 78; 123];

3. Квадратная или прямоугольная матрица:

>> C = [5 6 9; 56 45 73; 15,21,36];

4. Генерация вектора. Синтаксис: < Имя вектора >=< Начальное значение >:< Шаг >:< Конечное значение >. Если не указать шаг, то по умолчанию он принимается за 1.

>> C = 15:0.5:25;

5. Единичная матрица. Синтаксис: < Имя матрицы >= ones (< Кол-во строк >, < Кол-во столбцов >).

>> С = ones(5, 6);

6. Нулевая матрица. Синтаксис: < Имя матрицы >= zeros (< Кол-во строк >, < Кол-во столбцов >);

>> С = zeros(5, 6).

 

Доступ к ячейкам матрицы. Синтаксис: < Имя массива >(< Номер строки >, < Номер столбца >). Необходимо помнить, что нумерация строк и столбцов начинается с 1.

>>C=[1,2,3; 4,5,6; 7,8,9]

C(2,2)

ans = 5

 

Операции с матрицами:

1. Скалярные операции. Умножение и деление матрицы на число, а также сложение и вычитание матрицы и числа (скаляр) – «.*», «./»,«.+», «.–». Каждая скалярная операция выполняются с каждой ячейкой матрицы отдельно. Любая скалярная (поэлементная) операция, то есть операция сразу над всем массивом, в MatLab обозначаются при помощи точки.

>> В=[5 6; 7 8];

C=В.*2

С= 10 12

14 16

2. Сложение и вычитание матриц. Данная операция выполнима только с матрицами одинакового размера. При выполнении операции действие выполняется с соответствующими друг другу ячейками.

>> А=[1 2; 3 4];

В=[5 6; 7 8];

C=M+N

С= 6 8

10 12

3. Произведение матриц. Производится последовательное умножение строки первой матрицы на столбец второй. Для реализации данной операции необходимо выполнение условия (количество строк первой матрицы ровно количеству столбцов во второй матрице). Матрица результата будет иметь столько же строк сколько и в первой матрице, и количество столбцов равное количеству столбцов во второй матрице.

>> A=[1 2 3; 4 5 6];

B=[4 5; 6 7; 8 9];

C=A*B

C = 40 46

94 109

>> C=B*A

C = 24 33 42

34 47 60

44 61 78

4. Удаление отдельных столбцов или строк. Для удаления отдельных столбцов или строк матрицы используются: пустые квадратные скобки [] и оператор двоеточие (:).

>> C = [24 33 42; 34 47 60; 44 61 78]

C = 24 33 42

34 47 60

44 61 78

% Удаление второго столбца

>> C(:,2)=[]

C =

24 42

34 60

44 78

% Удаление второй строки:

>> C(2,:)=[]

C =

24 33 42

44 61 78

5. Преобразование вектора в диагональную матрицу

>> A=1:5

A = 1 2 3 4 5

D =

1 0 0 0 0

0 2 0 0 0

0 0 3 0 0

0 0 0 4 0

0 0 0 0 5

6. Вычисление суммы столбцов матрицы

>> A=[1 2 3; 4 5 6];

sum(A)

ans = 5 7 9

7.Вычисление суммы строк матрицы

>> A=[1 2 3; 4 5 6];

sum(A.')

ans = 6 15

8. Вычисление суммы диагоналей матрицы

>> A=[1 2 3; 4 5 6];

sum(diag(A))

ans = 6

9. Произведение элементов столбцов матрицы

>> A=[1 2 3; 4 5 6];

C=prod(A)

C = 4 10 18

10. Размерность матрицы

>> A=[1 2 3; 4 5 6];

size(A)

ans = 2 3

11. Обратная матрица

>> A=[1 2 3; 4 5 6; 7 8 9];

B=inv(A)

B =

1.0e+16 *

-0.4504 0.9007 -0.4504

0.9007 -1.8014 0.9007

-0.4504 0.9007 -0.4504

12. Определитель

>> A=[1 2 3; 4 5 6; 7 8 9];

det(A)

ans = 6.6613e-16

13.Транспонирование

>> A=[1 2 3; 4 5 6; 7 8 9];

A'

ans =

1 4 7

2 5 8

3 6 9

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: