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

Текст процедуры

метода Гаусса-Жордана с выбором главного элемента

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

var i,j,k,nomj,nomk,m:integer;max,u:real; r:vecin;

begin for i:=1 to n do r[i]:=i;

for i:=1 to n do

begin max:=a[i,i];nomj:=i;nomk:=i;

for j:=i+1 to n do for k:=i+1 to n do

if abs(max)<abs(a[j,k]) then

begin max:=a[j,k];nomj:=j;nomk:=k

end;

m:=r[nomk];r[nomk]:=r[i];r[i]:=m;

for j:=1 to n do

begin u:=a[j,nomk];a[j,nomk]:=a[j,i];a[j,i]:=u;

end; for k:=1 to n+1 do

begin u:=a[nomj,k];a[nomj,k]:=a[i,k];a[i,k]:=u/max

end; for j:=1 to n do

if i<>j then for k:=n+1 downto 1 do

a[j,k]:=a[j,k]-a[j,i]*a[i,k]

end;

for i:=1 to n do x[r[i]]:=a[i,n+1];

end;

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

Составить программу решения систем линейных уравнений методом Гаусса-Жордана с выбором главного элемента. В программе предусмот-реть вычисление определителя системы. Организовать контрольный вы-вод исходных данных и вывод результатов в отдельные окна.

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

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

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

- программу решения;

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

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

1. Программу решения системы уравнений дополнить проверкой резуль-

татов. Определить минимальную и максимальную ошибки. Исходные

данные вводить типизированными константами.

2. Программу решения системы уравнений дополнить проверкой резуль-

татов. Определить минимальную и максимальную ошибки. Исходные

данные вводить файлами.

3. В программе предусмотреть решение любого заранее неизвестного ко-

личества систем уравнений. Для продолжения или прекращения счета

организовать диалог с ЭВМ. Ввод коэффициентов уравнений с клави-

атуры.

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

личества систем уравнений. Для продолжения или прекращения счета

организовать диалог с ЭВМ. Ввод коэффициентов уравнений чтением

файла данных.

5. В программе предусмотреть остановку и вывод промежуточных значе-

ний коэффициентов после исключения очередной неизвестной. Ввод

коэффициентов уравнений с клавиатуры.

6. В программе предусмотреть остановку и вывод промежуточных значе-

ний коэффициентов после исключения очередной неизвестной. Ввод

коэффициентов уравнений чтением файла данных.

7. Составить программу многократного решения системы уравнений для

определения коэффициента устойчивости системы уравнений

ky= |xni - xsi k|/(n2d) ,

где xni - решение исходной системы,

xsi k - решение системы при замене ak n+1 на ak n+1 + d ,

d - малое число.

8. Составить программу многократного решения системы уравнений для

определения коэффициента устойчивости матрицы системы

ky= |xsi k |/(n2d) ,

где xsi k - решение системы уравнений с вектором правой части, у кото-

рой ak n+1 = d а остальные элементы равны 0. Величина d малая и

вводится с клавиатуры.

9. Составить программу решения системы линейных уравнений, в кото-

рых правые части обозначены вектором-столбцом bi. Программу запи-

сать с использованием процедуры.

10.Составить программу решения системы линейных уравнений, в кото

рых правые части обозначены вектором-столбцом bi. Программу запи-

сать без использования процедуры.

11.Составить процедуру решения системы линейных уравнений методом

Гаусса без выбора главного элемента (Ю. А. Ивашкин, Вычислитель-

ная техника в инженерных расчетах, стр. 198) .

12.Составить программу решения системы линейных уравнений методом

Гаусса без выбора главного элемента ( Ю. А. Ивашкин, Вычислитель-

ная техника в инженерных расчетах, стр. 198) без использования про-

цедуры.

13.Составить программу ( без процедуры ) решения за один запуск трех

систем линейных уравнений, различающихся лишь правой частью.

14.Составить программу (с использованием процедуры) решения за один

запуск трех систем линейных уравнений, различающихся лишь правой

частью.

15.Программу ( без процедуры ) решения системы линейных уравнений

дополнить проверкой на обусловленность. Результаты проверки запи-

сать в строковую переменную, значениями которой будут: “решение

получено” или “ система плохо обусловлена”.

16.Процедуру решения системы линейных уравнений дополнить провер-

кой на обусловленность. Результаты проверки записать в строковую

переменную, значениями которой будут: “решение получено” или

“система плохо обусловлена”.

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

ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ

ЛИНЕЙНЫХ УРАВНЕНИЙ

Перед применением итерационных методов исходная система линей-ных уравнений (3.1) должна быть преобразована к виду:

xi=x1, x2, x3, . . .xn), i=1n . (4.1)

Такая запись системы позволяет вычислять последующие приближе-ния корней по по их известным предыдущим приближениям. Подставляя на каждом шаге в правую часть вновь рассчитанные приближения полу-чают последовательности значений искомых неизвестных.

Если эти последовательности стремятся к предельным значениям, то итерационный процесс называется сходящимся, а сами пределы яв-ляются решением заданной системы уравнений.

Для сходимости итерационного процесса достаточно, чтобы модули диагональных элементов системы были больше сумм модулей коэффи-циентов соответствующих строк или столбцов:

|ai i|> |ai k| , при in и ik

или (4.2)

|ak k|> |ai k| , при k=1n и ik .

Эти условия являются достаточными для сходимости метода, но они не являются необходимыми, т.е. для некоторых систем итерация сходит-ся и при нарушении условий (4.2).

Расчетная система (4.1) записывается в виде:

xi=xi+(ai n+1- ai kxk)/ci , i=1n . (4.3)

Делитель ci принимается равным сумме модулей элементов i-ой стро-ки матрицы системы:

|ci|= |ai k| , i=1n . (4.4)

Знак делителя ci полагается совпадающим с знаком диагонального элемента ai i .Развернутая форма расчетных уравнений выглядит следу-ющим образом:

x1=x1+(a1 n+1-a1 1x1-a1 2x2-...-a1 nxn)/c1 ,

x2=x2+(a2 n+1-a2 1x1-a2 2x2-...-a2 nxn)/c2 , (4.5)

. . . . . . . . . . .

xn=xn+(an n+1-an 1x1-an 2x2-...-an nxn)/cn .

Из итерационных методов наиболее употребительными являются метод простой итерации и метод Зейделя. Метод Зейделя отличается более быстрой сходимостью. Ограничимся изложением метода Зейделя.

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