Работа с матрицами. Решение уравнений 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Работа с матрицами. Решение уравнений



    Цель работы: научиться работать с матрицами в MatLab.

 

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

Для поэлементного преобразования матриц (как и для векторов) пригодны все указанные ранее алгебраические функции. Каждая такая функция формирует матрицу того же размера, что и заданная, каждый элемент которой вычисляется как указанная функция от соответствующего элемента заданной матрицы. Кроме этого, в Matlab определены операции поэлементного умножения матриц одинакового размера («.*»), поэлементного деления матриц («./» и «.\»), поэлементного возведения в степень («.^»).

    Приведем несколько примеров:

 

>> A = [1,2,3,4,5; -2, 3, 1, 4, 0]

A =

1 2 3 4 5

-2 3 1 4 0

>> B = [-1,3,5,-2,1; 1,8,-3,-1,2]

B =

-1 3 5 -2 1

 1 8 -3 -1 2

 

>> A. * B

ans =

-1 6 15 -8 5

-2 24 -3 -4 0

 

>> A. / B

ans =

-1. 0000 0. 6667 0. 6000 -2. 0000 5. 0000

-2. 0000 0. 3750 -0. 3333 -4. 0000 0

 

 

>> A. \ B

Warning: Divide by zero

ans =

-1. 0000 1. 5000 1. 6667 -0. 5000 0. 2000

-0. 5000 2. 6667 -3. 0000 -0. 2500 Inf

 

Необходимо отметить, что в Matlab возможно разделение элементов матрицы (вектора) не только пробелами, но и запятым.

При выполнении поэлементного возведения в степень мы обратили внимание, что запись чисел может быть произведена системой Matlab в ином формате (рисунок 6.1).

 

 

Рисунок 6.1 – Поэлементное возведение в степень

 

В Matlab определена операция прибавления к матрице числа. Она эквивалентна совокупности операций А + х * Е, или х * E + A, где Е - матрицы, состоящая из единиц, тех же размеров, что и матрица А.

>> A = [1 4 0; 6 7 8]

A =

1 4 0

6 7 8

 

 >>A + 2

ans =

3 6 2

8 9 10

 

>> 2 + A

ans =

3 6 2

8 9 10

 

Основные действия с матрицами - сложение, вычитание, транспонирование, умножение матрицы на число, умножение матрицы на матрицу, возведение матрицы в целую степень - осуществляются в Matlab с помощью обычных знаков арифметических операций. При использовании этих операций важно помнить условия, при которых эти операции являются возможными:

- при сложении или вычитании матрицы должны иметь одинаковую размерность;

    - при умножении матриц количество столбцов первой матрицы должно совпадать с количеством строк второй матрицы.

    Невыполнение этих условий приведет к появлению в командном окне сообщения об ошибке.

Пример сложения и вычитания матриц:

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

A =

1 2 3 4 5

6 7 8 9 0

>> B = [ 0 -1 -2 -3 -4; -5 1 1 -1 9 ]

B =

0 -1 -2 -3 -4

-5 1  1  -1  9

>> A + B

ans =

1 1 1 1 1

1 8 9 8 9

 

 

>> A - B

ans =

1   3  5  7   9

11 6 7 10 -9

Примеры умножения матрицы на число:

>> 5*A

ans =

5  10  15  20  25

30 35 40  45  0

 

 

>> A*5

ans =

5  10  15  20  25

30 35 40  45  0.

Пример транспонирования матрицы:

>> A'

ans =

1 6

2 7

3 8

4 9

5 0

Примеры  умножения матрицы на матрицу:

 

>> A'*B

ans =

-30 5 4 -9 50

-35 5 3 -13 55

-40 5 2 -17 60

-45 5 1 -21 65

 0 -5 -10 -15 -20

 

 

>> С = A*B'

С =

-40 41

-50 -24

 

Функция обращения матрицы - inv (A) - вычисляет матрицу, обратную заданной матрице А, при этом исходная матрица А должна быть квадратной, и ее определитель (det (A)) не должен равняться нулю (рисунок 6.2).

 

Рисунок 6.2 – Нахождение определителя матрицы и ее обращение

 

 

Возведение квадратной матрицы A в целую (положительную или отрицательную) степень n осуществляется в Matlab с помощью знака «^». Эта операция эквивалентна умножению матрицы А на себя n раз (если n - положительно) или умножению обратной матрицы на себя (при n отрицательно) (см.рисунок 6.3, с.62).

Рисунок 6.3 – Возведение матрицы в степень

 

В системе Matlab вводятся операции деления матриц слева направо, осуществляемая с помощью знака «/», и деления матриц справа налево, осуществляемая с помощью знака «\».

Операция В/A используется при решении матричного уравнения

Х*А=В, при этом она эквивалентна последовательному выполнению действий B* inv (A).

Аналогично операция A\B равносильна совокупности операций inv (A)*B, которая представляет собой решение матричного уравнения

А*Х = В.

Для примера решим систему линейных алгебраических уравнений:

 

В среде Matlab отыскать решение можно следующим образом (см. рисунок 6.4, с.63).

 

Рисунок 6.4 – Решение системы уравнений

 

Решить матричное уравнение X*A=B возможно одним из предложенных способов (рисунок 6.5).

 

Рисунок 6.5 – Решение системы уравнений

 

 

Вычисление матричной экспоненты осуществляется системой Matlab с помощью функции exp m (A). Эту функцию следует отличать от функции exp (A), которая формирует матрицу, каждый элемент которой равняется е в степени, которая равняется соответствующему элементу матрицы А.

Функция expm является встроенной функцией Matlab.

Функция logm (А) осуществляет обратную операцию - логарифмирование матрицы по натуральному основанию (рисунок 6.6).

 

Рисунок 6.6 – Действие матричных функций

 

Функция sqrtm (А) вычисляет матрицу X, такую, что X*X = A (см. рисунок 6.7, с. 65).

Рисунок 6.7 – Вычисление матричного квадратного корня

 

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Задание 1. Задайте матрицы А= , В== . Осуществите поэлементное умножение, деление и возведение в степень матрицы А на В. Найдите суму и разность матрицы А и В. Умножьте матрицу А на число 5. Умножьте 5 на матрицу В.

Задание 2. Найдите произведение матриц А=  и В= .

    Задание 3. Задайте матрицу М= . Найдите f(M), если

f(x)=2x-x2+5

    Задание 4. Дана матрица М= . Найдите определитель матрицы.

Задание 5. Введите матрицы А=  и В= .Решите матричное уравнение ХА=В

Задание 6. Решите систему уравнений

 

ТРЕБОВАНИЯ К ОТЧЕТУ

 

Отчет должен быть оформлен согласно ГОСТ 7.32-2001 и содержать 1.Титульный лист

2. Цель работы

3. Краткие теоретические сведения

4. Результаты выполнения заданий.

5. Выводы по работе.

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

 

1. Какие условия должны выполняться при умножении матрицы на матрицу?

2. Какие условия должны выполняться при вычитании и суммировании двух матриц?

 

ЛАБОРАТОРНАЯ РАБОТА № 7



Поделиться:


Последнее изменение этой страницы: 2021-08-16; просмотров: 66; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.251.154 (0.017 с.)