Основы применения вычислительной техники и программирование. Беспалов В.В. - 64 стр.

UptoLike

Составители: 

B
1
1 1 1 -1 2
C
2
0 1 1 -1 1
D
3
0 0 1 -3/2 -3
E
4
= 2D
4
/3 0 0 0 1 4
Возвращаясь к общепринятой форме уравнений, запишем
x
1
+ x
2
+ x
3
x
4
= 2 ;
x
2
+ x
3
x
4
= 1 ;
x
3
1.5 x
4
= -3 ;
x
4
= 4 .
Обратный ход метода Гаусса состоит в последовательном вычис-
лении исходных неизвестных. Из последнего уравнения находим един-
ственное неизвестное x
4
, подставляя значение x
4
в третье уравнение, x
3
во второе и т. д., находим решение заданной СЛАУ:
x
1
= 1, x
2
= 2, x
3
= 3, x
4
= 4.
Аналогично строится алгоритм для СЛАУ с произвольным чис-
лом уравнений. Необходимо помнить, что при решении СЛАУ может
потребоваться операция перестановок уравнений (т. е. перестановки со-
ответствующих коэффициентов), служащая для предотвращения деле-
ния на нулевой элемент.
Данный метод целесообразно использовать для решения систем
с плотно заполненной матрицей. Все элементы матрицы и правые части
системы уравнений (все вместе есть расширенная матрица) находятся
в оперативной памяти ЭВМ. Объем вычислений определяется порядком
системы n: число арифметических операций примерно равно (2/3)n
3
.
Вычисленное по методу Гаусса решение X
*
для СЛАУ, записан-
ной в матричном виде A
X = B, отличается от точного решения X из-за
погрешностей округления, связанных с ограниченностью разрядной
сетки ЭВМ. Существуют две величины, характеризующие степень от-
клонения полученного решения X
*
от точного X. Одна из нихпогреш-
ность
Е, равная разности этих значений: E = X
X
*
.
Другаяневязка r, равная разности между правой и левой частя-
ми уравнений при подстановке в них решения: r = B – A
X
*
.
Реализация метода на языке Паскаль
Потребуется описание используемых типов для расширенной
матрицы коэффициентов и для вектора значений переменных:
type mat=array[1..20,1..21] of real;
vec=array[1..20] of real;
var n:integer; {Реальное число уравнений}
a:mat; x:vec;
65