microbik.ru
  1 2 3 4 ... 8 9
К решению систем линейных уравнений сводятся многочисленные практические задачи, например различные краевые задачи для обыкновенных и в частных производных дифференциальных уравнений. Можно с полным основанием утверждать, что данная проблема является одной из самых распространенных и важных задач вычислительной математики.

Пусть задана система п линейных алгебраических уравнений с п неизвестными:
. (2.1)

Система уравнений (2.1) в матричной форме представляется следующим образом:

АХ = В, (2.2)

где А – квадратная матрица коэффициентов, размером пп строк и столбцов;

Хвектор-столбец неизвестных;

В – вектор-столбец правых частей.

Систему уравнений (2.2) можно решить различными методами. Один из наиболее простых и эффективных методов является метод исключения Гаусса и его модификации. Алгоритм метода основан на приведении матрицы А к треугольному виду (прямой ход) и последовательном вычислении неизвестных (обратный ход). Эти процедуры можно выполнять над невыраженными матрицами, в противном случае метод Гаусса неприменим.

Недостатком метода является накапливание погрешностей в процессе округления, поэтому метод Гаусса без выбора главных элементов используется обычно для решения сравнительно небольших (п  100) систем уравнений с плотно заполненной матрицей и не близким к нулю определителем. Если матрица А сильно разрежена, а ее определитель не близок к нулю, то метод Гаусса пригоден для решения больших систем уравнений. В MATLAB имеется обширный арсенал методов решения систем уравнений (2.2) методом исключения Гаусса. Для этого применяются следующие операторы

/

 правое деление;







\

левое деление;







- 1

 возведение в степень –1;







inv(A)

 обращение матрицы А.


Выражения

Х

=

В/A

Х

=

В* А^  1

Х

=

В* inv(A)

Х

=

A\В


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

Пример 3.

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



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

а

=

[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] ;


Х4 = а \ b

Эта программа выдает решение заданной системы с помощью четвертого оператора в виде матрицы – столбца

Х4

=


1.0406

0.9351

0.9870

0.8813


Внимание. В М-файле матрица а набирается по строкам, а элементы матрицы правых частей b отделяются символом ; , т. е. тоже набираются по строкам. Решение другими операторами системы уравнений (2.2) требует набора матрицы а по столбцам, а элементы правых частей b отделяются только пробелом!

а

=

[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] ;

b

=

[1.5471 1.6471 1.7471 1.8471] ;


Х1 = b/а

Х2 = b* a ^  1

Х3 = b* inv(a)

Результаты решения

Х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.


<< предыдущая страница   следующая страница >>