Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MLab.doc
Скачиваний:
7
Добавлен:
13.11.2018
Размер:
851.46 Кб
Скачать

Специальные функции для матриц.

det(A) – вычисляет определитель матрицы

inv(A) – вычисляет инверсную(обратную матрицу)

Обратной для квадратной матрицы А называется матрица А-1, которая при умножении на матрицу А справа и слева даёт единичную матрицу. B называется обратной А, если выполняется АВ=ВА=Е(ед. матр.). det(A)<>0.

eig(A) – определение собственных чисел (характеристические. числа);

norm(A, 1) – норма – наибольшая сумма модулей элементов столбцов;

trace(A) – след(сумма элементов главной диагонали)

Действия с элементами матрицы

  • Обращение к элементу – осуществляется заданием имени, и в круглых скобках через запятую указываются индексы.

Команда A(2,1) выберет элемент второй строки первого столбца.

  • Можно выделить часть матрицы. Это делается с помощью символа двоеточие :

Пусть задана матрица:

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

A =

1 2 3

4 5 6

7 8 9

  • получить вектор-столбец из всех элементов матрицы

>> C=A(:)

C =

1

4

7

2

5

8

3

6

9

  • Получить 3-ий столбец матрицы А

>> B=A(:,3)

B =

3

6

9

  • Получить 3-ю строку матрицы А

>> X=A(3,:)

X =

7 8 9

Индексом в ML может быть не только число, но и вектор. Этот вектор – индекс удобно задавать с помощью двоеточия. Рассмотрим следующую команду:

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

A =

1 2 3

4 5 6

7 8 9

1 0 1

Запишем:

>> c=A(1:3,2)

c =

2

5

8

Первый индекс представляет собой вектор из 3 элементов [1:3] и результатом выполнения команды стал вектор с – вектор равный первым трем элементам второго столбца матрицы А.

  • Выделим из матрицы А квадратную матрицу 2х2:

>> C=A(3:4,2:3)

Получим:

C =

8 9

0 1

  • Выделить первые две строки матрицы А

>> A=A(1:2,:)

A =

1 2 3

4 5 6

  • Получить матрицу В размером 2х2, состоящую из элементов 2 и 3 строк и 1 и 2 столбцов матрицы А. Для этого запишем:

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

A =

1 2 3

4 5 6

7 8 9

>> B=A(2:3,1:2)

B =

4 5

7 8

  • Можно заменить один фрагмент матрицы другим. Пусть имеем матрицу А, приведенную выше и зададим матрицу С

>> C=[20 30;10 15]

C =

20 30

10 15

Заменим правый верхний угол матрицы А матрицей С.Для этого запишем:

>> A(1:2,1:2)=C

Измененная матрица А

A =

20 30 3

10 15 6

7 8 9

  • Поменяем местами 1-ую и 3-ю строки матрицы А

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

Запишем

>> A([1,3],:)=A([3,1],:)

Полученная матрица

A =

7 8 9

4 5 6

1 2 3

  • Оператор А(:,:) возвратит матрицу целиком

  • Объедиение матриц

    • X

      Y

      по горизонтали

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

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

>> Z=[X,Y]

Z =

1 2 5 6

3 4 7 8

  • X

    Y

    по вертикали

>> Z=[X;Y]

Z =

1 2

3 4

5 6

7 8

Размер матриц должен быть согласован.

  • Добавить строку к матрице А

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

Зададим вектор В

>> B=[5 5 5];

Запишем:

>> A=[A;B]

Получим новую матрицу размером 4х3

A =

1 2 3

4 5 6

7 8 9

5 5 5

  • Удаление элемента

A(3)=[] – удаление 3-го элемента матрицы.

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

A =

1 2 3

4 5 6

7 8 9

>> A(3)=[]

Результат – вектор А, состоящий из элементов матрицы в порядке следования по столбцам без элемента А(3,1)

A =

1 4 2 5 8 3 6 9

  • Удаление матрицы из памяти

>>clear A

  • Сделать матрицу нулевой размерности

>>А=[];

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]