Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MATЛАБ - 2 Вычислит. матем.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
929.79 Кб
Скачать

Выражения

Х

=

A\В

Х

=

А^  1* В

Х

=

inv(A) * В

Х

=

В/A

дают решения ряда систем линейных уравнений АХ = В, где А – матрица размером mn, В – матрица размером пк, в частности - столбец. Более сложные случаи решения систем уравнений (2.2) с плохо обусловленной матрицей А рассматривать не будем.

Пример 3.

Решить систему 4-х линейных уравнений:

Протокол программы (в М-файле)

A

=

[1.1161 0.1397 0.1254 0.1490;

0.1582 0.1768 1.1675 0.1871;

0.1968 1.2168 0.2071 0.2271;

0.2368 0.2568 0.2471 1.2671]

B

=

[1.5471 ; 1.6471 ; 1.7471 ; 1.8471] ;

Х1 = A \ B

Эта программа выдает решение заданной системы в виде матрицы-столбца

Х1

=

1.0406

0.9351

0.9870

0.8813

Внимание. В М-файле матрица A набирается по строкам, в правой части B – столбец. Элементы B отделяются символом « ; » (точка с запятой). Число строк в обеих матрицах должно совпадать.

Операцию « \ » называют операцией левого деления (или же умножения слева на обратную матрицу inv(A)). Этой операции эквивалентна функция A\B = mldivide(A,B) (Matrix left division), вызываемая в командном окне.

Х

=

inv(A) * В.

Систему можно также решить, вычисляя обратную матрицу inv(A) и умножая на нее слева вектор (матрицу) правых частей системы В

Решение с помощью оператора « \ » эффективнее, чем использование обратной матрицы. Это объясняется тем, что алгоритм решения системы линейных уравнений при помощи оператора « \ » определяется структурой матрицы коэффициентов системы. В частности, MATLAB исследует, является ли матрица треугольной, или может быть приведена перестановками строк и столбцов к треугольному виду, симметричная матрица или нет, квадратная или прямоугольная (умеет решать системы с прямоугольными матрицами – переопределенные или недоопределенные). Использовать специальные методы вместо оператора обратного деления « \ » следует, если имеется информация об особенных свойствах матрицы системы.

Операция правого деления « / » также имеется в MATLAB, но она решает системы линейных уравнений несколько иного вида YA=B и поэтому требует перестановки местами матриц А и В. Выражение В эквивалентно Вinv(A) или вызову функции mrdivide(B,A) - right-matrix division. При правом делении у матриц должно совпадать число столбцов, поэтому в нашем случае берутся транспонированные матрицы В, А

А

=

[1.1161 0.1582 0.1968 0.2368 ;

0.1397 0.1768 1.2168 0.2568 ;

0.1254 1.1675 0.2071 0.2471 ;

0.1490 0.1871 0.2271 1.2671] ;

В

=

[1.5471 1.6471 1.7471 1.8471] ;

Решения, найденные с помощью команд

Х2 = В* А ^  1

Х3 = В* inv(А)

Х4= В/А ,

будут иметь вид вектора-строки.

Х1

=

1.0406 0.9351 0.9870 0.8813

Х2

=

1.0406 0.9351 0.9870 0.8813

Х3

=

1.0406 0.9351 0.9870 0.8813

Варианты заданий. Решить систему линейных алгебраических уравнений с помощью 4-х операторов. Данные взять из таблицы 2.2.

Таблица 2.2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30