Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Березиков..М.Ук2.doc
Скачиваний:
2
Добавлен:
04.08.2019
Размер:
509.95 Кб
Скачать

Метод Зейделя

В методе Зейделя при вычислении очередного (p+1)-го приближе-ния каждой неизвестной xi в правую часть уравнений системы (4.5) под-ставляются наряду с p-ыми приближениями все рассчитанные к этому моменту (p+1)-ые приближения корней системы.

Вектор начальных приближений xi0 может выбираться произвольно. Чем ближе он к решению, тем быстрее сходится итерационный процесс. При отсутствии априорных данных о решении вектор xi0 обычно пола-гают равным нулю. Нулевое приближение подставляется в правую часть первого уравнения системы (4.5):

x11=x10+(a1 n+1-a1 1x10-a1 2x20-...-a1 nxn0)/c1 .

Полученное первое приближение x11 наряду с нулевыми приближени-ями x20  xn0 подставляется во второе уравнение системы (4.5):

x21=x29+(a2 n+1-a2 1x11-a2 2x20-...-a2 nxn0)/c2 .

Полученные первые приближеия x11 и x21 подставляются в третье урав-нение системы (4.5):

x31=x30+(a3 n+1-a3 1x11-a3 2x21-...-a3 nxn0)/c3 .

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

Итерационный процесс продолжается до тех пор, пока все значения предыдущих приближений xip не станут близкими к последующим приближениям xip+1 .При заданной допустимой погрешности >0 критерий окончания итерационного процесса можно записать в виде:

|xip+1-xip| <  для i=1n .

Блок-схема процедуры метода Зейделя показана на рис. 4.1 . Здесь через xi обозначены предыдущие приближения корней, а через x1i пос-ледующие.

Текст процедуры метода Зейделя

procedure zd(n:integer;a:matr;var x:vec);

var x1,c:vec;i,j,k:integer;s:real;label metka;

begin for i:=1 to n do

begin x[i]:=0;c[i]:=0;

for j:=1 to n do c[i]:=c[i]+abs(a[i,j]);

if a[i,i]<0 then c[i]:=-c[i]

end; k:=0;

metka:k:=k+1;x1:=x;

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

x[i]:=x[i]+s/c[i]

end;

for i:=1 to n do if abs(x1[i]-x[i])>eps then goto metka;

writeln('k=',k);

end;

i=1, n

xi=0

ci=0

j=1, n

ci=ci+|ai j|

нет ai i < 0 да

ci=-ci

k=0

k=k+1

i=1, n

x1i=xi

i=1, n

s=ai n+1

j=1, n

s=s-ai jxj

xi=xi+s/ci

i=1, n конец процедуры

нет

|xi-x1i|>

да

Рис. 4.1 Блок-схема процедуры метода Зейделя

Рабочее задание

Составить программу решения системы линейных уравнений методом Зейделя с точностью =0.001 согласно заданному варианту. Программа должна допускать неоднократный ввод части коэффициентов системы уравнений при неизменных остальных коэффициентах. Выполнить 2-3 расчета, подтверждающих работоспособность программы.

Рассчитать корни исходной системы уравнений с помощью обратной матрицы.

Написать отчет, содержащий:

- вариант задания;

- принятые обозначения;

- тексты программ;

- результаты.

Варианты заданий к лабораторной работе 4

  1. Организовать ввод правых частей. Процедуру не применять.

  2. Организовать ввод коэффициентов первого уравнения системы. Процедуру не применять.

  3. Организовать ввод коэффициентов последнего уравнения системы. Процедуру не применять.

  4. Программу решения дополнить проверкой результатов.Найти мини-мальную и максимальную ошибки. Процедуру не применять

  5. Организовать ввод праых частей. Правые части обозначить вектором-столбцом b. Процедуру не применять.

  6. Организовать ввод коэффициентов первого уравнения системы. Правые части обозначить вектором-столбцом b. Процедуру не приме-нять.

  7. Организовать ввод коэффициентов последнего уравнения системы.Правые части обозначить вектором -столбцом b. Процедуру не применять.

  8. Программу решения дополнить проверкой результатов. Найти мини-мальную и максимальную ошибки. Правые части обозначить вектором-столбцом b. Процедуру не применять.

  9. Организовать ввод правых частей. Применять процедуру метода Зейделя

  10. Организовать ввод коэффициентов первого уравнения системы. Применять процедуру метода Зейделя.

  11. Организовать ввод коэффициентов последнего уравнения системы. Применять процедуру метода Зейделя.

  12. Программу решения дополнить проверкой результатов. Найти мини-мальную и максимальную ошибки. Применить процедуру метода Зейделя.

  13. Организовать ввод праых частей. Правые части обозначить вектором-столбцом b. Применить процедуру метода Зейделя .

  14. Организовать ввод коэффициентов первого уравнения системы. Правые части обозначить вектором-столбцом b. Применить процедуру метода Зейделя .

  15. Организовать ввод коэффициентов последнего уравнения системы.Правые части обозначить вектором -столбцом b. Применить процедуру метода Зейделя .

  16. Программу решения дополнить проверкой результатов. Найти мини-мальную и максимальную ошибки. Правые части обозначить вектором-столбцом b. Применить процедуру метода Зейделя.

Лабораторная работа 5

ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]