Читайте также: |
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Институт/
Факультет – ЭНИН _________________________________________
Направление – Теплоэнергетика и теплотехника __________________
Кафедра – Автоматизация теплоэнергетических процессов ______
Решение СЛАУ (метод Зейделя)
Отчет по лабораторной работе № 3
по курсу «Информационные технологии»
Выполнил студент гр. 5Б13 _____ Нигай А.Г.
Подпись Дата Фамилия И.О.
Проверил ______ _______ Кравченко Е.В.
должность Подпись Дата Фамилия И.О.
Томск – 2012
Содержание
Введение. 3
1. Краткое описание метода решения СЛАУ (метод Зейделя). 4
2. Задача. 5
3. Текст программы.. 6
4. Результаты вычислений. 7
5. Заключение. 8
Список использованных источников. 9
Введение
Цель: Изучение численных методов решения СЛАУ.
Задачи: Изучить численные методы решения СЛАУ. Составить программу решения СЛАУ на языке Pascal по методу, предложенному преподавателем и получить результат вычислений. Исходные данные ввести из файла.
1. Краткое описание метода решения СЛАУ (метод Зейделя).
Этот метод является итерационным. На каждой итерации уточняются значения переменных. Система сходится, если на главной диагонали матрицы коэффициентов расположены максимальные элементы. В противном случае необходимо провести эквивалентные преобразования (перестановка строк и др.).
(1.1) |
Систему (1.1) приведём к виду
(1.2) |
Левую часть уравнений будем считать новыми (последующими) значениями переменных, а xi в правой части – предыдущими значениями переменных. Первоначально массив X имеет нулевые значения. Затем на каждой итерации вычисляется S – добавка для каждого xi, которая приближает его к искомому значению. Процесс продолжается до тех пор, пока добавка для каждого xi будет меньше заданной погрешности вычислений.
2. Задача
Вариант 14
3. Текст программы
program variant14;
const n=5;
var a: array [1..n,1..n+1] of real;
x,h: array [1..n] of real;
f1:text; p,i,j,k,z,m:integer; s,e:real;
Begin
e:=0.001;
assign(f1,'G:\zadacha.txt');
reset(f1);
for i:=1 to n do
Begin
for j:=1 to n+1 do read(f1,a[i,j]);
readln(f1);
end;
Write ('введите кол-во итераций=',m);
read (m);
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]; p:=p+1;
x[i]:=x[i]+s;
if abs(s)>e then z:=0
end;
if z<>0 then Break;
end;
for i:=1 to n do Write(x[i]:6:4,', ');
for i:=1 to n do
for j:=1 to n do
h[i]:=h[i]+a[i,j]*x[j];
writeln;
for i:=1 to n do
Begin
h[i]:=abs(100*(h[i]-a[i,6])/h[i]);
writeln('погрешность ',h[i]:6:4);
end; write (‘количество итераций=’,p);
close(f1);
end.
4. Результаты вычислений
введите кол-во итераций=100
0.5585, -0.8942, -3.3310, 1.7637, 2.5739,
погрешность 0.0568
погрешность 0.0632
погрешность 0.1356
погрешность 0.0100
погрешность 0.0000
количество итераций=80
5. Заключение
Я изучил метод Зейделя для решения СЛАУ. Научился создавать программу с помощью языка Pascal для решения систем линейных алгебраических уравнений с помощью метода Зейделя.
Вывод: погрешность вычислений при заданном количестве итерация, равным 100, для каждого значения xi получилось разная. Так для х1 погрешность составила 0.0568%, для х2 0.0632%, для х3 0.1356%, для х4 0.01% и для х5 погрешность составила 0%.
C клавиатуры было введено количество итераций равное 100, но потребовалось 80.
Список использованных источников
1. В.В. Беспалов - Основы применения вычислительной техники и программирование: учебное пособие./– Томск: Издательство ТПУ, 2007. – 107 с.
2. Стандарт организации, СТО ТПУ 2.5.01-2011, Режим доступа: http://standard.tpu.ru/docs/standorg/ВКР_ориг1.htm - Загл. с экрана.
Дата добавления: 2015-07-26; просмотров: 51 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Проверка результатов методом трапеций | | | Введение |