- •Задание исследования
- •2. Подробное описание задачи и методы её решения
- •3. Описание работы программы и результаты исследований
- •Анализ зависимостей результатов программы
- •4. Выводы
- •Описание применения
- •Программа и методика испытаний
- •Способы тестирования программы
- •Руководство пользователя
- •Назначение программы
- •Условия и характеристики программы
- •Выполнение программы
- •5.3.4 Входные и выходные данные
- •5.3.5 Сборка программы
- •5.3.6 Текст программы
- •6. Список библиографических источников:
Задание исследования
Провести исследование решения двухточечной краевой задачи методом прогонки на языке С++.
2. Подробное описание задачи и методы её решения
Физические процессы часто описываются обыкновенными линейными дифференциальными уравнениями второго порядка. В некоторых случаях представляет интерес описание процесса на некотором интервале изменения аргумента при условии, что на обеих границах этого интервала заданы значения линейных комбинаций состояний процесса и его первых производных. Такая задача называется линейной двухточечной краевой задачей и может быть решена с помощью так называемого метода прогонки. Метод прогонки часто еще называют алгоритмом Томаса.
Сначала требуется найти функцию y(x), на отрезке [a,b], которая удовлетворяет следующему дифференциальному уравнению и краевым условиям:
где p(x), q(x), f(x) - известные непрерывные на отрезке [a,b] функции, - заданные постоянные , причем .
Предполагается, что отрезок [a,b], на котором будет находиться решение этого уравнения, разбит на n равных частей системой точек (сеткой).
Пусть pi, qi, fi, yi - значения соответствующих функций в узлах сетки. Тогда вычисления производятся в два приема (прямой ход и обратных ход ) следующем порядке:
Прямой ход:
Вычислить набор значений mi и ki по формулам:
, (i=0,1,…..,n-2)
Затем находим набор значений ci и di:
,
;
Обратный ход:
Находим все значения функции yi:
Таким образом, все вычисления как бы прогоняют два раза. Вычисления прямого хода заготавливают вспомогательные числа ci и di в порядке возрастания индекса i. При этом для вычисления с0, d0 используется краевое условие на левом конце отрезка интегрирования. Затем на первом шаге обратного хода происходит согласование полученных чисел сn-2, dn-2 с краевым условием на первом конце отрезка интегрирования, после чего последовательно получаются значения искомой функции yi в порядке убывания индекса i.
Примените метод прогонки для приближенного решения следующей краевой задачи:
3. Описание работы программы и результаты исследований
Программа написана на языке С и является консольным приложением. Данная программа позволяет получить решение вышеуказанного уравнения на интервале от ab[0;1] в точках Xn с шагом h=(b-a)/n, где n – число точек на интервале, при параметрах fi и S. Значения fi приведены в таблице. S же, изменяется от нуля до пяти, с шагом в единицу.
При запуске программы происходит последовательный расчет значений искомой функции в зависимости от S от первого значения f. Затем выполняется замена значений f в точках на следующее. Рассчитываются значения для всех S (от 0 до 5). Все результаты промежуточных вычислений выводятся на экран.
Окончательным результатом программы являются значения yi при разных значениях S и f. В ходе работы программы все полученные значения функции в шести точках (краевые значения равны нулю), номер fi, значение S записываются в файл “пакет.xls”, находящийся в корневой папке программы.
ВеличинаS |
Номер f |
Y(X0) |
Y(X1) |
Y(X2) |
Y(X3) |
Y(X4) |
Y(X5) |
0 |
1 |
0 |
3,980894 |
4,405836 |
3,744178 |
2,085366 |
0 |
1 |
1 |
0 |
3,815281 |
4,056137 |
3,312149 |
1,757537 |
0 |
2 |
1 |
0 |
3,572898 |
3,544334 |
2,705821 |
1,317501 |
0 |
3 |
1 |
0 |
3,485276 |
3,359318 |
2,503196 |
1,182326 |
0 |
4 |
1 |
0 |
3,682209 |
3,77515 |
3,00631 |
1,556194 |
0 |
5 |
1 |
0 |
3,976915 |
4,397435 |
3,742575 |
2,090463 |
0 |
0 |
2 |
0 |
3,654345 |
3,738309 |
2,965904 |
1,52744 |
0 |
1 |
2 |
0 |
3,76441 |
3,971378 |
3,229848 |
1,709948 |
0 |
2 |
2 |
0 |
3,518236 |
3,450089 |
2,601282 |
1,245099 |
0 |
3 |
2 |
0 |
3,341685 |
3,076232 |
2,180668 |
0,955433 |
0 |
4 |
2 |
0 |
3,555327 |
3,528633 |
2,722247 |
1,353371 |
0 |
5 |
2 |
0 |
3,761977 |
3,966227 |
3,222206 |
1,702749 |
0 |
0 |
3 |
0 |
3,282824 |
2,971335 |
2,073229 |
0,886283 |
0 |
1 |
3 |
0 |
3,558644 |
3,557061 |
2,754581 |
1,373147 |
0 |
2 |
3 |
0 |
3,478538 |
3,38695 |
2,534976 |
1,200369 |
0 |
3 |
3 |
0 |
3,227626 |
2,854118 |
1,930523 |
0,780543 |
0 |
4 |
3 |
0 |
3,44936 |
3,324987 |
2,488143 |
1,185269 |
0 |
5 |
3 |
0 |
3,528437 |
3,492915 |
2,659427 |
1,289651 |
0 |
0 |
4 |
0 |
3,139643 |
2,686186 |
1,744918 |
0,652842 |
0 |
1 |
4 |
0 |
3,290331 |
3,00709 |
2,123044 |
0,925397 |
0 |
2 |
4 |
0 |
3,427463 |
3,299129 |
2,443318 |
1,140144 |
0 |
3 |
4 |
0 |
3,136968 |
2,68049 |
1,738587 |
0,648716 |
0 |
4 |
4 |
0 |
3,360464 |
3,156446 |
2,296553 |
1,049075 |
0 |
5 |
4 |
0 |
3,312564 |
3,054439 |
2,152857 |
0,929362 |
0 |
0 |
5 |
0 |
3,192476 |
2,817918 |
1,892702 |
0,752538 |
0 |
1 |
5 |
0 |
3,082047 |
2,582085 |
1,643681 |
0,591647 |
0 |
2 |
5 |
0 |
3,346448 |
3,146744 |
2,278696 |
1,029476 |
0 |
3 |
5 |
0 |
3,063344 |
2,542142 |
1,588454 |
0,547344 |
0 |
4 |
5 |
0 |
3,282893 |
3,011016 |
2,132899 |
0,933796 |
0 |
5 |
5 |
0 |
3,134912 |
2,694983 |
1,752052 |
0,654446 |
0 |