Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_1(СЛАУ).doc
Скачиваний:
37
Добавлен:
08.11.2019
Размер:
1.43 Mб
Скачать

I, j, k : IntType;

X0 : tVector;

H : RealType;

S : String;

Flag : Boolean;

begin

Form1.Memo1.Visible:= True;

Form1.Memo1.Clear;

Kr:= StrToFloat(Form1.Edit1.Text);{Коэффициент релаксации}

For i:= 1 to N do X[i]:= 0; {Начальные значения}

{Итерации по методу ПВР}

For k:=1 to M do

begin

{Подготовка к итерации}

For i:=1 to N do X0[i]:=X[i];

For i:=1 to N do

begin

H:= 0.0;

For j:=1 to N do

If i<>j Then H:=H+ X0[j]*A[i,j];

X[i]:= ((1-Kr)*A[i,i]*X0[i]+Kr*(B[i]-H))/A[i,i];

{Заполнение Form1.ProgressBar2}

Form1.ProgressBar2.Position:=Round(100*i/N);

end;

{Проверка решения}

Flag:= True; {Решение найдено}

{Ищем норму вектора решения}

H:=0.0;

For i:=1 to N do

H:= H + Sqr(X[i]-X0[i]);

H:= Sqrt(H)/N;

If H > 0.00000001 Then Flag:= False;

If Flag= True Then Break;

end;

Form1.SpinEdit2.Value:= k; {Вывод количества итераций}

Form1.Memo1.Visible:= True;

Form1.Memo1.Clear;

Form1.Memo1.Lines.Add('Метод последовательной верхней релаксации.');

If Flag= True Then Form1.Memo1.Lines.Add('Заданная точность достигнута');

If Flag= False Then

begin

Form1.Memo1.Lines.Add('Заданная точность не достигнута.');

Form1.Memo1.Lines.Add(Format('при k = %d', [k]));

Form1.Memo1.Lines.Add('Увеличьте количество итераций.');

end;

For i := 1 to N do

Form1.Memo1.Lines.Add(Format('X[%d] = %f', [i, X[i]]));

For i:= 1 to N do

Form1.StringGrid1.Cells[N+3, i]:= FloatToStrF(1.0*X[i],ffGeneral,3,3);

end;

Литература

  1. Бахвалов Н. С. Численные методы/ Жидков Н. П. , Кобельков Г. М.; МГУ им М. В. Ломоносова. - М.: БИНОМ. Лаборатория знаний, 2006. - 636 с. - ISBN 5-94774-396-5: 372-20, н-1, ч/з-2, общ.8-1, уч-20(1- к ЭВМ); (24:25)

  2. Киреев В. И. Численные методы в примерах и задачах/ Пантелеев А. В.; М.: Высш. шк., 2008. - 480 с. - ISBN 978-5-06-004763-9: 661-10.(уч-20); (20:25).

  3. Мудров А. Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль/ Томск: МП"РАСКО", 1991. - 272 с. - ISBN 5-256-00602-9: 11р.20к. н-1; (1:25).

  4. Калиткин Н. Н. Численные методы/ Под ред. А. А. Самарского. - М.: Наука, 1978. - 512 с. - 1 р. 30 к. КУКП-3, н-4, уч-99, ч/з-3. (110:25).