- •Содержание
- •Введение
- •1 Описание поставленной задачи
- •1.1 Краткая характеристика численного метода
- •1.2 Анализ литературы и программ, патентный список
- •1.3 Формирование требований к программе
- •2 Проектирование схем алгоритмов
- •2.1 Разработка алгоритма головной программы
- •2.2 Проектирование алгоритма ввода исходных данных
- •2.3 Проектирование алгоритма вывода результатов
- •2.4 Проектирование алгоритма численного метода
- •3 Кодирование программы в среде программирования
- •3.1 Разработка структуры программы
- •3.2 Разработка интерфейса пользователя
- •3.2.1 Разработка интерфейса главной формы
- •3.3 Программирование ввода-вывода данных
- •4 Тестирование работоспособности программы
- •4.1 Описание аппаратной конфигурации для тестирования
- •4.2 Тестирование разработанной программы
- •4.3 Решение задачи в математической системе Mathcad
- •4.4 Решение задачи в математической системе matlab
- •4.5 Анализ результатов тестирования
- •5 Разработка гипертекстового варианта документа работы
- •Заключение
- •Список использованных источников
- •Приложение а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение е
Содержание
Введение 4
1 Описание поставленной задачи 5
1.1 Краткая характеристика численного метода 5
1.2 Анализ литературы и программ, патентный список 6
1.3 Формирование требований к программе 7
2 Проектирование схем алгоритмов 9
2.1 Разработка алгоритма головной программы 9
2.2 Проектирование алгоритма ввода исходных данных 11
2.3 Проектирование алгоритма вывода результатов 12
2.4 Проектирование алгоритма численного метода 14
3 Кодирование программы в среде программирования 15
3.1 Разработка структуры программы 15
3.2 Разработка интерфейса пользователя 15
3.3 Программирование ввода-вывода данных 21
4 Тестирование работоспособности программы 22
4.1 Описание аппаратной конфигурации для тестирования 22
4.2 Тестирование разработанной программы 22
4.3 Решение задачи в математической системе Mathcad 23
4.4 Решение задачи в математической системе MATLAB 23
4.5 Анализ результатов тестирования 24
5 Разработка гипертекстового варианта документа работы 25
Заключение 26
Список использованных источников 27
Приложение А 28
Приложение Б 38
Приложение В 39
Приложение Г 40
Приложение Д 42
Приложение Е 44
Введение
Информатика является основой базой для проведения научно-исследовательских и проектно-технических работ в современной промышленности. С помощью аппаратно-программных комплексов выполняются как научно-технические расчеты, так и информационный и патентный поиск данных по необходимой тематике. Согласно задания цель данной курсовой работы – разработка программы численного интегрирования обыкновенного дифференциального уравнения явным многошаговым методом Нистрема третьего порядка точности в среде программирования Borland C++Builder для персонального компьютера.
1 Описание поставленной задачи
1.1 Краткая характеристика численного метода
Решением обыкновенного дифференциального уравнения в нормальной форме Коши согласно [1]:
dy / dx = (x, y) ( 1.1 )
является функция одной переменной
y = f(x), ( 1.2 )
удовлетворяющая начальным условиям - точке (x0,y0).
При использовании численного метода интегрирования решение уравнения (1.2) получается в виде массива точек (xi,yi), описывающих кривую, начинающуюся из точки начальных условий (x0,y0).
Различают три группы численных методов решения дифференциальных уравнений:
а) явные методы численного интегрирования;
б) неявные методы численного интегрирования;
в) методы прогноза и коррекции.
Метод Нистрема, как многошаговый, используются для определения каждой последующей точки не одно, а несколько значений функции в предыдущих точках интегрирования. В отличие от одношаговых методов многошаговые не обладают свойством самостартования, поэтому перед запуском вычислений необходимо рассчитать требуемое число первых точек искомой функции при помощи одношагового метода, а только потом по этим значениям реализовать процесс интегрирования многошаговым методом.
Исходные данные и результаты расчета при многошаговом методе интегрирования аналогичны данным одношаговых методов. Однако для определения текущих значений точек искомой функции в процессе интегрирования необходимо сформировать два одномерных массива: для аргумента - MX и функции - MY. В этих массивах первый (нулевой) элемент соответствует текущей искомой (n-ной) точке, первый - предыдущей (n-1)-вой, второй - (n-2)-ой точке, которая стоит впереди текущей на два шага интегрирования, третий - (n-3)-ей точке, отстоящей на три шага интегрирования, и так до последней точки, учитываемой конкретным методом. Метод использует формулы разложения в ряд Тейлора в окрестностях точки (xn,yn) для расчета каждого последующего значения искомой функции на сновании данных о ее предыдущих значениях yn+1=yn+hf’(xn,yn)+f’’(xn,yn)h2/2+...+f(n)(xn,yn)hn/n!, ( 1.5 )
x n+1 = x + h, ( 1.6 )
где xn,yn - значения аргумента и функции на предыдущем шаге
интегрирования;
x n+1,yn+1 - значения аргумента и функции на последующем шаге интегрирования;
h - величина шага интегрирования;
f(n)(xn, yn) - производная n-ой степени от ( 1.2 ).
В зависимости от степени производной, учитываемой численным методом, определяется степень точности метода.
Расчетными формулами метода Нистрема в зависимости от порядка точности являются:
yn+2 = yn + 2 * h * f(xn+1,yn+1),
yn+3 = yn+1 + h * [7 * f(xn+2,yn+2) - 2*f(xn+1,yn+1) + f(xn,yn)] / 3,
yn+4 = yn+2 + h * [8*f(xn+3,yn+3)-5*f(xn+2,yn+2)+48*f(xn+1,yn+1)-
-f(xn,yn)]/4.
где (xn,yn)- функция первой производной (правой части выражения (1.1)).