ВУЗ:
Составители:
Рубрика:
x
1
= (b
1
– a
11
x
1
– a
12
x
2
– ...– a
1n
x
n
) / a
11
+ x
1
;
x
2
= (b
2
– a
21
x
1
– a
22
x
2
– ...– a
2n
x
n
) / a
22
+ x
2
;
……………………………………................... (8.10)
x
n
= (b
n
– a
n1
x
1
– a
n2
x
2
– ...– a
nn
x
n
) / a
nn
+ x
n
.
Левую часть уравнений будем считать новыми (последующими)
значениями переменных, а x
i
в правой части – предыдущими значения-
ми переменных. Первоначально массив X имеет нулевые значения. За-
тем на каждой итерации вычисляется S – добавка для каждого x
i
, кото-
рая приближает его к искомому значению. Процесс продолжается до
тех пор, пока добавка для каждого x
i
будет меньше заданной погрешно-
сти вычислений.
Реализация метода на языке Паскаль
Ввод данных рекомендуется организовать так же, как и в методе
Гаусса. Далее приводится возможный вариант реализации метода:
for k:=1 to m do
begin
z:=k;
for i:=1 to n do
begin
s:=a[i,n+1];
for j:=1 to n do s:=s-a[i,j]*x[j];
s:=s/a[i,i];
x[i]:=x[i]+s;
if abs(s)>e then z:=0
end;
if z<>0 then Break;
end;
Здесь
m – максимальное число итераций (для избежания беско-
нечного цикла);
z – переменная, обнуляющаяся, если хотя бы одна из
переменных отличается от предыдущего значения более чем на Е, и со-
держащая число итераций, если система сошлась.
Остаётся только вывести результат и сделать проверку.
8.6. Метод простых итераций
Метод простых итераций немного отличается от метода Зейделя.
Здесь имеется два вектора переменных: с предыдущими значениями
X0
70
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »
