Таблица 6.2
Используемые функции и процедуры
|
Function f(x:real):real; |
заданная функция, на интервале [a,b] |
|
Function p(t,x0,x1:real):real; |
преобразованная функция, на интервале [-1,1] |
|
Function p(t,x0,x1:real):real; |
метод Гаусса на заданном интервале [xi,xi+1] |
|
Function alfa:real; |
подсчет коэффициента альфа для расчета погрешности |
|
Function Integral(x:real): real; |
Реальное значение интеграла |
|
Procedure About; |
Рамочка с информацией о программе |
|
Procedure EnterDate; |
Ввод данных с экрана монитора |
Результатом работы является готовая программа вычисления корней СЛАУ
методом Гаусса:
uses crt;a:array[1..3,1..4] of real;:array[1..3] of real;:array[1..3] of real;,i,j,k:integer;z,r,g:real;(yellow);;(red);
gotoxy (16,5);('БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ');(27,6);('Автотракторный факультет');(15,7); //('Кафедра «Гидропневмоавтоматика и гидропневмопривод»');
textcolor (blue);(31,10);('Курсовая работа');
Метод Гаусса');(green);(34,18);
write ('Выполнил: Швец А.Н.,студент группы №10105213');(34,19);('Руководитель работы: Eрмилов С.В.');
textcolor (LightMagenta);(32,23);('Минск 2014');(5500);(18, 24);(blue);;
n:=3;('Введите коэффициенты системы и свободные члены');
for i:=1 to n doj:=1 to n+1 do(A[i,j]);;
clrscr;('Матрица коэффициентов и свободных членов');
for i:=1 to n doj:=1 to n+1 do(A[i,j]:6:2);;;;i:=1 to n do[i]:=a[i,n+1];k:=1 to n doj:=k+1 to n do:=a[j,k]/a[k,k];i:=k to n do[j,i]:=a[j,i]-r*a[k,i];;[j]:=b[j]-r*b[k];;;k:=n downto 1 do:=0;j:=k+1 to n do:=a[k,j]*x[j];:=r+g;;[k]:=(b[k]-r)/a[k,k];;('Корни системы:');i:=1 to n do('x[',i,']=',x[i]:0:2,' ');
writeln;; end. (7.1)
Данная программа высчитывает корни системы уравнение, несколько
отличающихся от точного решения. Виной этому является погрешность вычислений.
Таблица 7.1
Корни системы точные и полученные
|
Корень системы |
Точное решение |
Полученное решение |
|
|
1 |
-0.16 |
|
|
2 |
1.91 |
|
|
3 |
3.44 |
Ниже представлю график, наглядно показывающий отличие корней:
Рисунок 7.1 - График отличия корней
Для того, чтобы уменьшить погрешность при делении на диагональный элемент, рекомендуется осуществлять такую перестановку уравнений, чтобы поставить на диагональ наибольший по модулю из всех элементов рассматриваемого столбца. Модифицированный таким образом метод Гаусса называется методом Гаусса с выбором главного элемента.
Подведём итоги:
Метод Гаусса удобно применять для систем маленькой и средней размерности (до порядка 10^4). Для больших же размерностей или разреженных матриц более эффективными представляются итерационные методы.
Рекомендуется использовать метод Гаусса с выбором главного элемента по столбцу, как более устойчивый к ошибкам, но при этом не требующий больших дополнительных затрат. В этом плане метод выбора главного элемента по строке и столбцу представляется менее эффективным, так как требует гораздо больше вычислительных затрат, но дает небольшую прибавку в точности.
Итерационное улучшение результата стоит провести 2-3 раза, если погрешность уменьшается очень медленно - возможно, матрица плохо обусловлена, тогда метод в любом случае даст не лучшие результаты - лучше попробовать применить итерационные методы.
Важно, чтобы данные считывались из файла правильно.
1. Методические указания по выполнению курсовой работы для студентов специальности 1-36 01 07 "Гидропневмосистемы мобильных и технологических машин". С.В. Ермило, Л.Г. Филипова, И.П. Ус. Минск, БНТУ, 2012 г.
. Жилевич, М.И. Информатика: Учебно-методическое пособие к лабораторным работам для студентов специальности 1-36 01 07 «Гидропневмосистемы мобильных и технологических машин» / М.И. Жилевич, Л.Г. Филипова. - Мн.: БНТУ, 2009. - 40 с.
. Конспект лекций по высшей математике: [в 2 ч.]. Ч.1 / Дмитрий Письменный. - 8-е изд., испр. - М.: Айрис-пресс, 2007. - 288с.: ил.
. Мудров, А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль. - Томск: МП"РАСКО", 1991.-272 с.: ил.
. Бахвалов, Н.С. Численные методы / Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков. - М: БИНОМ. Лаборатория знаний, 2007. - 636 с.
. Амосов А.А., Дубинский Ю.А., Копченова Н.П. Вычислительные методы для инженеров. - М.: Мир, 1998.
. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. - М.: Наука, 1970. - С. 575-576.
. Волков Е.А. Численные методы. - М.: Физматлит, 2003.
. Ильин В.А., Позняк Э.Г. Линейная алгебра: Учебник для вузов. - 6-е изд., стер. - М.: ФИЗМАТЛИТ, 2004. - 280 с.
. Офицеров, Д.В. Программирование в интегрированной среде ТурбоПаскаль. справочное пособие / Д.В. Офицеров, В.А. Старых. - Мн., «Беларусь», 1992. - 240 с.