- Lektsia - бесплатные рефераты, доклады, курсовые работы, контрольные и дипломы для студентов - https://lektsia.info -

Численное интегрирование методом Гаусса

КУРСОВАЯ РАБОТА
“Численное интегрирование методом Гаусса”

Федеральное агентство по образованию
Тульский государственный университет
КАФЕДРА РАДИОЭЛЕКТРОНИКИ
ИНФОРМАТИКА
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
Вариант № 42
Студенту гр.220371 Подобеденко И.В.
1. Тема: «Численноеинтегрирование-методом Гаусса»
Разработайте алгоритм ипрограмму:
1) вычисления определённогоинтеграла методом Гаусса и 2) построения графика функции я 3) построениянескольких (по 2 — 3) “шагов” интегрирования на участках возрастания и убыванияфункции.
Контрольный пример.
Исходные данные: />
2. Срок представления курсовойработы на проверку с 12 по 15 мая 2008 г.
3. Защита курсовой работы с 19по 23 мая 2008 г.
4. Требования к курсовой работе:
3.1 Разработать алгоритм ипрограмму решения поставленной задачи.
3.2 Язык программирования — Паскаль.
3.3 Предусмотреть: а) диалоговыйввод исходных данных с проверкой правильности вводимых величин, б) блок поясненийк работе с программой, в) решение контрольного примера.
5. Форма отчётности:
пояснительная записка (ПЗ) объёмом25-40 страниц на листах с рамками и штампом, отпечатанная на принтере,
графическая часть — лист форматаА1,
дискета с текстом ПЗ, рисункомалгоритма и программой (текстовый и исполняемый файлы).
6. Содержание пояснительнойзаписки к курсовой работе:
1) титульный лист,
2) задание на курсовую работу(настоявши бланк).
3) аннотация (краткаяхарактеристика проделанной работы, объём ПЗ, количество таблиц, рисунков, схем.программ и приложений) с основной надписью по форме 2 (ГОСТ 2.104-68) — 1 с,
4) содержание (лист содержания ивсе последующие листы — с основной надписью по форме 2а — ГОСТ 2.104-68),
5) введение (область примененияпоставленной задачи, возможность использования ЭВМ для решения поставленнойзадачи) – 1-2 с,
6) анализ задания (выбор входныхи выходных данных) – 2-3 с.
7) обзор литературных источникови разработка (выбор) математической модели задачи – 2-4 с,
8) описание методоввычислительной математики, которые будут использованы при решении поставленнойзадачи — 3-4 с,
9) разработка алгоритма решениязадачи и описание его особенностей (разработанных или выбранных из готовыхпроцедур и функций) — 5-7 с,
10) разработка программы посхеме алгоритма — 1-2 с.
11) разработка инструкциипользования программой — 1 с.
12) распечатка программы(текстовый файл) – допускается привести как приложение – 2-3 страницы
13) распечатка исходных данных ирезультатов решения контрольного примера – 1-2 с.
14) заключение (подробные выводыпо проделанной работе) – 1-2 с.
15) список использованнойлитературы – 1 с.
16) приложения (инструкциипользования программой и др.)
7. Графическая часть: алгоритмрешения поставленной задачи – лист формата A1
8. Литература.
/>/>/>/>/>/>Аннотация
В работе рассмотрены методычисленного интегрирования функций. Для подробного рассмотрения был взят методГаусса.
В рамках курсовой работыреализован словесный и на языке блок-схем алгоритм и программа на языкепрограммирования Паскаль, которая вычисляет заданный интеграл по методы Гауссаи показывает графическое отображение процесса.
Объем работы – 23 листа,количество рисунков – 2, представлена одна программа.
/>/>Содержание
Аннотация. 4
Введение. 6
1. Анализ задания. 8
2. Выбор математической модели задачи. 10
2.1 Метод прямоугольников. 10
2.2 Метод парабол (метод Симпсона) 11
2.4 Увеличение точности. 11
2.5 Метод Гаусса. 12
2.6 Метод Гаусса-Кронрода. 12
3. Описание методов вычислительной математики, которые будутиспользованы при решении поставленной задачи. 14
3.1. Разработка алгоритма решения задачи и описание его    особенностей  15
3.2 Разработка программы по схеме алгоритма. 18
3.3 Разработка инструкции пользования программой. 19
3.4 Распечатка программы… 19
3.5 Распечатка исходных данных и результатов решенияконтрольного примера  26
Заключение. 27
Список использованной литературы… 28
/>Введение
Появление и непрерывноесовершенствование быстродействующих электронных вычислительных машин (ЭВМ) привелок подлинно революционному преобразованию пауки вообще и математики вособенности. Изменилась технология научных исследований, колоссальноувеличились возможности теоретического изучения, прогноза сложных процессов,проектирования инженерных конструкций. Решение крупных научно-техническихпроблем, примерами которых могут служить проблемы овладения ядерной энергией иосвоения космоса, стало возможным лишь благодаря применению математическогомоделирования и новых численных методов, предназначенных для ЭВМ.
В настоящее время можноговорить, что появился новый способ теоретического исследования сложныхпроцессов, допускающих математическое описание, — вычислительный эксперимент, т.е.исследование естественнонаучных проблем средствами вычислительной математики. Разработкаи исследование вычислительных алгоритмов и их применение к решению конкретныхзадач составляет содержание огромного раздела современной математики — вычислительнойматематики.
Численные методы даютприближенное решение задачи. Это значит, что вместо точного решения и (функцииили функционала) некоторой задачи мы находим решение у другой задачи, близкое внекотором смысле (например, по норме) к искомому. Основная идея всех методов — дискретизацияили аппроксимация (замена, приближение) исходной задачи другой задачей, болееудобной для решения на ЭВМ, причем решение аппроксимирующей задачи зависит отнекоторых параметров, управляя которыми, можно определить решение с требуемойточностью. Например, в задаче численного интегрирования такими параметрамиявляются узлы и веса квадратурной формулы. Далее, решение дискретной задачиявляется элементом конечномерного пространства.
Численное интегрирование(историческое название: квадратура) — вычисление значения определённого интеграла(как правило, приближённое), основанное на том, что величина интеграла численноравна площади криволинейной трапеции, ограниченной осью абсцисс, графикоминтегрируемой функции и отрезками прямых, которые являются пределамиинтегрирования.
Необходимость применениячисленного интегрирования чаще всего может быть вызвана отсутствием у первообразнойфункции представления в элементарных функциях и, следовательно, невозможностьюаналитического вычисления значения определённого интеграла по формулеНьютона-Лейбница. Также возможна ситуация, когда вид первообразной настолькосложен, что быстрее вычислить значение интеграла численным методом.
/>1. Анализ задания
Основная идея большинстваметодов численного интегрирования состоит в замене подынтегральной функции наболее простую, интеграл от которой легко вычисляется аналитически. При этом дляоценки значения интеграла получаются формулы вида
/>
где /> - число точек, вкоторых вычисляется значение подынтегральной функции. Точки /> называютсяузлами метода, числа /> - весами узлов. Призамене подынтегральной функции на полином нулевой, первой и второй степениполучаются соответственно методы прямоугольников, трапеций и парабол (Симпсона).Часто формулы для оценки значения интеграла называют квадратурными формулами.
Пусть функция задана наинтервале />.Задача состоит в том, чтобы подобрать точки  и коэффициенты  так, чтобыквадратурная формула
/> (3.1)
была точной для всех полиномовнаивысшей возможной степени.
Ввиду того, что имеется параметров и /> , а полином степени  определяется коэффициентами, эта наивысшая степень в общем случае.
Таким образом, входными даннымидля нас будет являться подынтегральная функция f(x), пределы интегрирования a и b, количество узлов метода k. А такжеточность вычислений eps.
На выходе мы будем иметьзначение определенного интеграла при заданном количестве разбиений и пределахинтегрирования. Также мы получим графическое отображение процессаинтегрирования на участках возрастания и убывания функции.
 
2. Выбор математической модели задачи
Кратко рассмотрим основныеметоды численного интегрирования и выясним почему метод Гаусса наиболееподходит для решения нашей задачи.
 2.1 Метод прямоугольников
Метод прямоугольников получаетсяпри замене подынтегральной функции на константу. В качестве константы можновзять значение функции в любой точке отрезка />. Наиболеечасто используются значения функции в середине отрезка и на его концах. Соответствующиемодификации носят названия методов средних прямоугольников, левыхпрямоугольников и правых прямоугольников. Формула для приближенного вычислениязначения определённого интеграла методом прямоугольников имеет вид
/>,
где />, /> или />,соответственно.
/>/>Метод трапеций
Если функцию на каждом изчастичных отрезков аппроксимировать прямой, проходящей через конечные значения,то получим метод трапеций.
Площадь трапеции на каждомотрезке: /> Погрешностьаппроксимации на каждом отрезке: />,где /> Полнаяформула трапеций в случае деления всего промежутка интегрирования на отрезкиодинаковой длины h: />,где /> Погрешность формулы трапеций: />,где />/>/>/>2.2 Метод парабол (методСимпсона)
Использовав три точки отрезкаинтегрирования можно заменить подынтегральную функцию параболой. Обычно вкачестве таких точек используют концы отрезка и его среднюю точку. В этомслучае формула имеет очень простой вид
/>.
Если разбить интервалинтегрирования на 2N равных частей, то имеем
/>,
где />.
/>/>2.4 Увеличение точности
Приближение функции однимполиномом на всем отрезке интегрирования, как правило, приводит к большойошибке в оценке значения интеграла.
Для уменьшения погрешностиотрезок интегрирования разбивают на части и применяют численный метод дляоценки интеграла на каждой из них.
При стремлении количестваразбиений к бесконечности, оценка интеграла стремится к его истинному значениюдля любого численного метода.
Приведённые выше методыдопускают простую процедуру уменьшения шага в два раза, при этом на каждом шагетребуется вычислять значения функции только во вновь добавленных узлах. Дляоценки погрешности вычислений используется правило Рунге.
/>2.5 Метод Гаусса
Описанные выше методы используютфиксированные точки отрезка (концы и середину) и имеют низкий порядок точности(0 — методы правых и левых прямоугольников, 1 — методы средних прямоугольникови трапеций, 3 — метод парабол (Симпсона)). Если мы можем выбирать точки, вкоторых мы вычисляем значения функции />, то можно при томже количестве вычислений подынтегральной функции получить методы более высокогопорядка точности. Так для двух (как в методе трапеций) вычислений значенийподынтегральной функции, можно получить метод уже не 1-го, а 3-го порядкаточности:
/>.
В общем случае, используя />точек,можно получить метод с порядком точности />. Значения узловметода Гаусса по />точкам являютсякорнями полинома Лежандра степени />.
Значения узлов метода Гаусса иих весов приводятся в справочниках специальных функций. Наиболее известен методГаусса по пяти точкам.
/>/>2.6 Метод Гаусса-Кронрода
Недостаток метода Гаусса состоитв том, что он не имеет лёгкого (с вычислительной точки зрения) пути оценкипогрешности полученного значения интеграла. Использование правила Рунге требуетвычисления подынтегральной функции примерно в таком же числе точек, не даваяпри этом практически никакого выигрыша точности, в отличие от простых методов,где точность увеличивается в разы при каждом новом разбиении. Кронродом былпредложен следующий метод оценки значения интеграла
/>,
где /> - узлы методаГаусса по />точкам, а /> параметров />,/>, />подобраны такимобразом, чтобы порядок точности метода был равен />.
Тогда для оценки погрешностиможно использовать эмпирическую формулу:
/>,
где /> - приближённоезначение интеграла, полученное методом Гаусса по />точкам.
/>3. Описание методов вычислительнойматематики, которые будут использованы при решении поставленной задачи
/>
Сущность большинства методоввычисления определенных интегралов состоит в заменен подынтегральной функцииапроксимирующей функцией, для которой можно легко записать первообразную в элементарныхфункциях.
Аппроксимация, или приближение — математический метод, состоящий в замене одних математических объектов другими,в том или ином смысле близкими к исходным, но более простыми. Аппроксимацияпозволяет исследовать числовые характеристики и качественные свойства объекта,сводя задачу к изучению более простых или более удобных объектов (например,таких, характеристики которых легко вычисляются или свойства которых ужеизвестны). В теории чисел изучаются диофантовы приближения, в частности приближенияиррациональных чисел рациональными. В геометрии рассматриваются аппроксимации кривыхломаными. Некоторые разделы математики в сущности целиком посвященыаппроксимации, например, теория приближения функций, численные методы анализа.
Также в задачах такого рода активноиспользуются интерполяционные методы нахождения значений функции.
Интерполя́ция — в вычислительнойматематике способ нахождения промежуточных значений величины по имеющемуся дискретномунабору известных значений.
Многим из тех, кто сталкиваетсяс научными и инженерными расчётами часто приходится оперировать наборамизначений, полученных экспериментальным путём или методом случайной выборки. Какправило, на основании этих наборов требуется построить функцию, на которуюмогли бы с высокой точностью попадать другие получаемые значения. Такая задачаназывается аппроксимацией кривой. Интерполяцией называют такую разновидностьаппроксимации, при которой кривая построенной функции проходит точно черезимеющиеся точки данных.
Существует также близкая кинтерполяции задача, которая заключается в аппроксимации какой-либо сложнойфункции другой, более простой функцией. Если некоторая функция слишком сложнадля производительных вычислений, можно попытаться вычислить её значение внескольких точках, а по ним построить, то есть интерполировать, более простуюфункцию. Разумеется, использование упрощенной функции не позволяет получитьтакие же точные результаты, какие давала бы первоначальная функция. Но внекоторых классах задач достигнутый выигрыш в простоте и скорости вычисленийможет перевесить получаемую погрешность в результатах.
На практике чаще всего применяютинтерполяцию полиномами. Это связано прежде всего с тем, что полиномы легковычислять, легко аналитически находить их производные и множество полиномов плотнов пространстве непрерывных функций. 3.1. Разработка алгоритма решения задачи и описаниеего особенностей
Пусть функция задана настандартном интервале. Задача состоит в том, чтобы подобрать точки  икоэффициенты  так, чтобы квадратурная формула
 (1.1)
была точной для всех полиномовнаивысшей возможной степени.
Ввиду того, что имеется параметров и  , а полином степени  определяется  коэффициентами, эта наивысшаястепень в общем случае.
Запишем полином в виде  иподставим в (1.1). Получим
,
.
Приравнивая выражения приодинаковых коэффициентах получим
, ,
,.
Итак, и  находят из системы уравнений
,
,
, (1.2)
…….
.
Система (1.2) нелинейная, и еерешение найти довольно трудно. Рассмотрим еще один прием нахожденияи. Свойстваполиномов Лежандра
,
таковы:
1),;
2);
3) полином Лежандра  имеет  различныхи действительных корней, расположенных на интервале.
Составим по узлам интегрированиямногочлен -й степени
.
Функция  при  есть многочлен степенине выше. Значит для этой функции формула Гаусса справедлива:
, (4.3)
так как.
Разложим  в ряд по ортогональныммногочленам Лежандра:
,
,
,
т.е. все коэффициенты  при. Значит с точностью до численного множителя совпадает с. Таким образом, узлами формулыГаусса являются нули многочлена Лежандра степени.
Зная, из линейной теперьсистемы первых  (4.2) легко найти коэффициенты. Определитель этой системы естьопределитель Вандермонда.
Формулу, в которой  - нулиполинома Лежандра, а  определяют из (3.3), называют квадратурной формулойГаусса.
Таким образом, алгоритм решениянашей задачи будет таким:
Ввод данных – пределыинтегрирования, количество узлов, точность и подынтегральная функция
Подпрограмма вычисленияинтеграла с заданной точностью, которая использует подпрограмму вычисленияфункции десятиточечным методом
Подпрограмма графическогоотображения результатов вычислений по данному методу. 3.2 Разработка программы по схеме алгоритма
В основной программе необходимопредусмотреть ввод необходимых данных и реализацию контрольно примера, а такжеудобное управление элементами программы и команду выхода.
Подпрограммы реализованы в видефункций. Существует главная функция, которая вызывается из основной программы икоторая выполняет основные действия (подсчет значения интеграла и вывод наэкран результата, вывод графика на экран), вызывая другие подпрограммы.
Главная функция вызывает функциюподсчета интеграла с заданной точностью вычислений, которая в свою очередь на каждомшаге вызывает функцию подсчета значения функции.
 3.3 Разработка инструкции пользования программой
Программный комплекс имеетинтуитивно понятный интерфейс. Вначале программы на экран выводится меню, гдеможно выбрать несколько дальнейших действий, а именно: решение контрольногопримера, произвольный ввод данных или выход из программы.
После выбора нужного пункта врежиме диалога необходимо ввести соответствующие данные, результат появится наэкране, а затем после нажатия клавиши ввода появится графическое отображениеметода.
 3.4 Распечатка программы
{$N+}
{ Вычисление интегpаладесятиточечным методом Гаусса }
uses crt,graph;
var aaa,bbb,kkk:real;
{константы десятиточечногометода Гаусса}
const
g10c1=0.9739065285/6. 2012983932;
g10c2=0.8650633667/6.2012983932;
g10c3=0.6794095683/6.2012983932;
g10c4=0.4333953941/6.2012983932;
g10c5=0.1488743390/6.2012983932;
g10x1=0.0666713443/6.2012983932;
g10x2=0.1494513492/6.2012983932;
g10x3=0.2190863625/6.2012983932;
g10x4=0.2692667193/6.2012983932;
g10x5=0.2955242247/6.2012983932;
function F(x: real):real; {интегрируемая функция}
begin
F: =kkk*(exp(-aaa*x) — exp(-bbb*x));
end;
functiongauss_calc(a,b: real): real; {сам десятиточечный метод Гаусса}
varn,m,s,s1,s2,s3,s4,s5: real;
begin
m: =(b+a) /2; n:=(b-a) /2;
s1: =g10c1*(f(m+n*g10x1)+f(m-n*g10x1));
s2: =g10c2*(f(m+n*g10x2)+f(m-n*g10x2));
s3: =g10c3*(f(m+n*g10x3)+f(m-n*g10x3));
s4: =g10c4*(f(m+n*g10x4)+f(m-n*g10x4));
s5: =g10c5*(f(m+n*g10x5)+f(m-n*g10x5));
s: =s1+s2+s3+s4+s5;
gauss_calc: =s*(b-a);
end;
{рекурсивная ф-ция подсчета сзаданной точностью}
{ gc — ранее посчитаный интегрална интервале (a,b) }
functiongauss(a,b,eps,gc: real): real;
var t,ga,gb: real;
begin
t: =(a+b) /2; {разбиваеминтервал на две половинки}
ga: =gauss_calc(a,t); {в каждойполовинке считаем интеграл}
gb: =gauss_calc(t,b);
if abs(ga+gb-gc) >epsthen {проверяем точность вычислений}
begin
ga: =gauss(a,t,eps/2,ga); {рекурсиядля первой половинки}
gb: =gauss(t,b,eps/2,gb); {рекурсиядля второй половинки}
end; {при этом точностьповышаем, чтобы }
{при сложении ошибка ненакапливалась}
gauss: =ga+gb; {интеграл = суммеинтегралов половинок}
end;
procedure inputnum(prm:string; var num: real; lb,ub: real); {процедура ввода данных}
var q: boolean;
begin
repeat
write('Введите ',prm,' '); readln(num);
q: =(lb>=num)or (num>ub);
if q then writeln('Число должнобыть от ', lb: 0: 0,' до ',ub: 0: 0);
until not q;
end;
procedure titul;{Вывод титульного листа}
var f: text; s:string;
i: integer;
begin
clrscr;
assign(f,'f42. txt');
reset(f);
while not eof(f)do begin
readln(f,s);
while length(s)
writeln(s);
end;
close(f);
end;
functionmain_menu: integer; {Главное меню}
var i: integer;
begin
Writeln('==========================================================');
Writeln('Что будем делать? ');
Writeln('----------------------------------------------------------');
Writeln('0 — выход');
Writeln('1 — решать тестовыйпример a=1,5 b=6 k=10 eps = 0.0001');
Writeln('2 — решать пример спроизвольными a, b, k, eps');
Writeln('----------------------------------------------------------');
Write('Выбор >>> '); readln(i);
Writeln('==========================================================');
main_menu: =i;
end;
procedureoutputgraph(a,b,a1,b1: real; n: integer); {Вывод графика}
var i,j,j1,k: integer;t,y1,y2,x1,x2,x,y: double; s: string;
begin
clearviewport;
x1: =a1-1; x2: =b1+1;
if x1
y2: =f(ln(bbb/aaa)/(bbb-aaa)) *1.2;
y1: =-y2;
{Линия y=0}
setcolor(15);
y: =0;
j: =trunc(480*(y-y2)/(y1-y2));
line(0,j,639,j);
{Линии x=a,x=b}
setcolor(5);
j: =trunc(480*(-y2)/(y1-y2));
i: =trunc(640*(a-x1)/(x2-x1));
j1: =trunc(480*(f(a)- y2) /(y1-y2));
line(i,j, i,j1);
i: =trunc(640*(b-x1)/(x2-x1));
j: =trunc(480*(-y2)/(y1-y2));
j1: =trunc(480*(f(b)- y2) /(y1-y2));
line(i,j, i,j1);
{Сам график}
setcolor(14);
setlinestyle(0,0,3);
t: =(b-a) /n;
k: =0;
j1: =trunc(480*(-y2)/(y1-y2));
for i: =0 to640 do begin
x: =(x2-x1) *i/640+x1;
y: =f(x);
j: =trunc(480*(y-y2)/(y1-y2));
if j>479then j: =479;
if j
setcolor(14);
setlinestyle(0,0,3);
if i=0 thenmoveto(i,j) else lineto(i,j);
setcolor(8);
if (x>t*k+a)then begin
k: =k+1;
setcolor(15);
end;
setlinestyle(0,0,1);
if (x>=a) and(x
end;
setcolor(15);
y: =f(b);
i: =trunc(640*(b-x1)/(x2-x1));
j: =trunc(480*(y-y2)/(y1-y2));
line(i,j, i,j1);
setlinestyle(0,0,1);
setcolor(12);
{Подписи}
setcolor(13);
str(a: 6: 6,s);
s: ='a='+s;
i: =trunc(640*(a-x1)/(x2-x1));
outtextxy(i,j1+2,s);
str(b: 6: 6,s);
s: ='b='+s;
i: =trunc(640*(b-x1)/(x2-x1));
outtextxy(i-10,j1+2,s);
setcolor(15);
y: =0;
j: =trunc(480*(y-y2)/(y1-y2));
outtextxy(5,j+3,'y=0');
{Ждем… }
readkey;
end;
procedureequateit(a,b: real; eps: real); {процедура подсчета значения интеграла ивывода графика на экран}
var integral: real;i,j: integer;
begin
Integral: =gauss(a,b,eps,gauss_calc(a,b));
writeln('Интеграл = ', integral: 0: 6);
readkey;
i: =vga; j: =vgahi;
initgraph(i,j,'.. \bgi');
outputgraph(a,(b+a)/3,a,b,1);
outputgraph((b+a)/3,2*(b+a) /3,a,b,1);
outputgraph(2*(b+a)/3,b,a,b,1);
closegraph;
end;
var sel: integer;
eps: real;
begin
titul;
Writeln('==========================================================');
readkey;
repeat
clrscr;
sel: =main_menu;
case sel of
1: begin
aaa: =1.5; bbb:=6; kkk: =10;
eps: =1e-4;
equateit(aaa,bbb,eps);
end;
2: begin
inputnum('a',aaa,0,1000);
inputnum('b',bbb,-1000,1000);
inputnum('k',kkk,-1000,1000);
inputnum('точность',eps,0.000000001,1);
equateit(aaa,bbb,eps);
end;
end;
until sel=0;
end.
 3.5 Распечатка исходных данных и результатоврешения контрольного примера
/>/>
/>Заключение
В данной работе описана иреализована с помощью блок-схем и языка программирования Turbo Pascal задача нахождения численногорешения интеграла методом Гаусса. Программное средство содержит средствавычисления интеграла по исходным данным, а также выбирая произвольный интервали шаг интегрирования с заданной точностью. При этом на экран выводится график,отражающий процесс интегрирования заданной функции по шагам.
Представленный метод иреализованный алгоритм достаточно прост и эффективен для решения большого классазадач.
/>Список использованнойлитературы
1.  Малыхина М.П. Программирование на языке высокого уровня Turbo Pascal.– Спб.: БХВ-Петербург, 2006, 544 с.
2.  Немнюгин С.А. Turbo Pascal. – Спб.: Питер, 2002. – 496 с.
3.  Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М.: Нолидж,1997. – 616 с.
4.  Гусева А.И. Учимся программировать: PASCAL 7.0. Задачии методы их решения. – М.: Диалог-МИФИ, 1997. – 256 с.
5.  Дьяконов В.П. Справочник по алгоритмам и программам на языке бейсик для персональныхЭВМ: Справочник. — М.: Наука. Гл. ред. физ. -мат. лит., 1987. – 240 с.
6.  Сапаров В.Е., Максимов Н.А. Системы стандартов в электросвязи ирадиоэлектронике: Учебное пособие для вузов. – М. — Радио и связь, 1985. – 248с.
7.  ГОСТ 19.701-90 (ИСО 5807-85). “Единая система программной документации. Схемыалгоритмов, программ, данных и систем. Условные обозначения и правилавыполнения”/ Cб. ЕСПД. – М.: Изд-во стандартов, 1996. –157 с.
8.  Бахвалов Н., Жидков Н., Кобельков Г. Численные методы. М.: Лабораториябазовых знаний, 2001.632 с.
9.  Форсайт Дж., Малькольм М., Моулер К. Машинные методы математическихвычислений / Пер. с англ. М.: Мир, 1980.177с.
10.     Самарский А.А., Гулин А.В. Численные методы: Учебное пособие для ВУЗов. М.:Наука, 1989.432с.