Разработка программ, реализующих комбинацию численных методов

Вторая курсовая работа заключается в разработке программы, реализующей решение уравнения одним из перечисленных методов в случае, когда в уравнение входит интеграл от известной функции с неизвестным параметром, который должен быть определен при решении уравнения.

Рассмотрим задачу

Разработка программ, реализующих комбинацию численных методов - student2.ru .

При этом параметр z cчитается заданным, а y(z) определяется из решения уравнения. Таким образом, для решения задачи требуется использование одного из методов численного решения нелинейных уравнений и одного из методов численного интегрирования функций.

При разработке программ, реализующих численные методы, необходимо придерживаться общепринятого стиля: подпрограмма, реализующая конкретный метод, должна обладать определенной универсальностью и независимостью от вида функции, к которой применяется численный метод.

Из этого следует, что подпрограмма численного интегрирования в качестве формальных параметров должна содержать пределы интегрирования a,b верхнюю оценку погрешности e, имя подынтегральной функции, которая внутри подпрограммы должна иметь вид f(x). Поэтому параметры y и z не включаются в число формальных, а значит, являются внешними. Экстраполяция и оценка погрешности должна быть включена в подпрограмму численного интегрирования. Визуализация результатов экстраполяции должна быть предусмотрена и включаться в определенный момент расчета (как правило, в конце) по желанию пользователя.

Подпрограмма решения нелинейного уравнения Разработка программ, реализующих комбинацию численных методов - student2.ru в качестве формальных параметров должна содержать границы интервала поиска A,B, верхнюю границу погрешности решения уравнения E, имя функции Разработка программ, реализующих комбинацию численных методов - student2.ru , имя переменной y, значение которой является выходным параметром. В связи с этим, необходима подпрограмма, вычисляющая значения этой функции. В нашем случае Разработка программ, реализующих комбинацию численных методов - student2.ru . Параметры z и c являются для нее внешними. Из этой функции производится обращение к подпрограмме численного интегрирования. Примерная укрупненная блок-схема программы изображена на рис. 12.

Разработка программ, реализующих комбинацию численных методов - student2.ru

Рис. 12. Блок-схема программы, реализующей комбинацию численных методов

С помощью такой программы можно решить задачу построения зависимости y(z). Для этого необходимо задать последовательность значений zj, j=1,…,M и вычислить соответствующие значения yj=y(zj). Результаты вычислений следует представить как в табличном, так и в графическом виде. Примерный графический интерфейс программы прилагается (прил. П3.1).

ПРИМЕР

Содержание курсовой работы рассмотрим на примере: “Оценка погрешности и уточнение методом Ромберга результатов численного дифференцирования по центрально-симметричной разностной формуле второго порядка”. В качестве дифференцируемой функции выберем Разработка программ, реализующих комбинацию численных методов - student2.ru при x=0.5.

1. Описание численного метода дифференцирования по центрально-симметричной разностной формуле второго порядка (см.п. 3).

2. Программная реализация метода дифференцирования по центрально-симметричной разностной формуле второго порядка (прилагается листинг программы с комментариями).

3. Оценка погрешности результата, уточнение результата, визуализация результатов уточнения.

3.1. В результате выполнения программы реализующей численное дифференцирование функции Разработка программ, реализующих комбинацию численных методов - student2.ru , были получены следующие результаты zn при следующих n (прил. П3.2)

При этом на каждом шаге происходит увеличение числа разбиений в 2 раза, т.е. Q=2.

3.2. Далее определяется разница результата на следующем и предыдущем шаге (прил. П3.3)

Разработка программ, реализующих комбинацию численных методов - student2.ru

3.3. Вычисляем отношения (прил. П3.3.1)

Разработка программ, реализующих комбинацию численных методов - student2.ru

3.4. Потом экстраполируем полученный результат (прил. П3.3.2):

· Для метода Ромберга определяем порядок точности метода из приближенного равенства Qk»KDn. Проводим экстраполяцию по формуле Ричардсона

Разработка программ, реализующих комбинацию численных методов - student2.ru ;

· Для метода Эйткена для экстраполяции используется полученные значения KDn

Разработка программ, реализующих комбинацию численных методов - student2.ru .

Далее шаги 2,3 повторяются, до тех пор, пока Разработка программ, реализующих комбинацию численных методов - student2.ru . Нарушение этого равенства свидетельствует о том, что дальнейшее уточнение результата невозможно.

3.5. Строятся графики в логарифмической шкале:

a) Строится график полученных результатов в сравнении с точным результатом. По оси абсцисс откладывается lgn, по оси ординат значения Разработка программ, реализующих комбинацию численных методов - student2.ru , Разработка программ, реализующих комбинацию численных методов - student2.ru , ….

Полученные результаты прилагаются (прил. П3.3.3).

b) Строится график полученных результатов в сравнение с “эталонным” значением. В качестве эталона выбирается наиболее точный результат z, полученный в результате последней экстраполяции. По оси абсцисс откладывается lgn, по оси ординат значения Разработка программ, реализующих комбинацию численных методов - student2.ru , Разработка программ, реализующих комбинацию численных методов - student2.ru , Разработка программ, реализующих комбинацию численных методов - student2.ru ,…

Полученные результаты прилагаются (прил. П3.3.4).

c) Оценка результатов производится по правилу Рунге Разработка программ, реализующих комбинацию численных методов - student2.ru , Разработка программ, реализующих комбинацию численных методов - student2.ru ,… Строится график полученных результатов,

По оси абсцисс откладывается log10n, по оси ординат значения -log10ï Разработка программ, реализующих комбинацию численных методов - student2.ru ï, -log10ú Разработка программ, реализующих комбинацию численных методов - student2.ru ê, …

Полученные результаты прилагаются (прил. П3.3.5).

ВАРИАНТЫ ЗАДАНИЙ

1. Численное интегрирование методом левых прямоугольников.

2. Численное интегрирование методом правых прямоугольников.

3. Численное интегрирование методом трапеций.

4. Численное интегрирование методом средних прямоугольников.

5. Численное дифференцирование. Левая разностная формула первого порядка.

6. Численное дифференцирование. Правая разностная формула первого порядка.

7. Численное дифференцирование. Центрально-симметричная разностная формула второго порядка.

8. Численное дифференцирование. Вторая производная. Центрально-симметричная разностная формула второго порядка.

9. Численное решение задачи Коши методом Эйлера.

10. Численное решение задачи Коши усовершенствованным методом Эйлера.

11. Численное решение задачи Коши методом Рунге-Кутта 2-го порядка точности.

12. Краевая задача для обыкновенного линейного дифференциального уравнения. Метод конечных разностей.

13. Метод простых итераций для решения нелинейных уравнений.

14. Численное решение задачи Коши методом Рунге-Кутта 4-го порядка.

15. Численное решение задачи Коши методом Адамса 4-го порядка.

16. Численное решение смешанной задачи для уравнения теплопроводности методом конечных разностей по явной схеме.

17. Численное решение смешанной задачи для уравнения теплопроводности методом конечных разностей по неявной схеме

18. Численное решение смешанной задачи для волнового уравнения по явной трехслойной схеме.

19. Численное решение краевой задачи для уравнения Лапласа на прямоугольной области с применением метода Гаусса-Зейделя.

20. Интерполяция функции. Сравнение методов оценки погрешности (с помощью увеличения степени многочлена и уменьшения шага разбиения).

Методы экстраполяции

1. Метод Ромберга

2. Метод Нэвилла.

3. Метод Эйткена (d2-алгоритм).

4. e-алгоритм.

Приложение

П3.1. Графический интерфейс программы

Разработка программ, реализующих комбинацию численных методов - student2.ru

Рис. П3.1. График искомой функции y(z)

Разработка программ, реализующих комбинацию численных методов - student2.ru

Рис. П.2. Оценка погрешности численных результатов

П.2.Численные результаты

ni zn
-.8068453602226698
-.8594512716504229
-.8730213311404762
-.8764404712456473
-.8772969276777106
-.8775111463634158
-.8775647075727431
-.8775780982837214
-.8775814459870084
-.8775822829144317
-.8775824921463595
-.8775825444545262
-.8775825575312410
-.8775825608026935
-.8775825616321526
-.8775825618649833
-.8775825621560216
-.8775825621560220
-.8775825649499893
-.8775825649499880

П.3. Оценка и уточнение численных результатов

ni Разработка программ, реализующих комбинацию численных методов - student2.ru
 
-0.052605911
-0.013570059
-0.003419140
-0.000856456
-0.000214219
-5.35612E-05
-1.33907E-05
-3.34770E-06
-8.36927E-07
-2.09232E-07
-5.23082E-08
-1.30767E-08
-3.27145E-09
-8.29459E-10
-2.32831E-10
-2.91038E-10
-9.99201E-16
-2.79397E-09
9.99201E-16

П.3.1. Коэффициент уменьшения погрешности при удвоении n

ni Разработка программ, реализующих комбинацию численных методов - student2.ru
 
 
3.87661612
3.96885155
3.99219386
3.99804727
3.99951174
3.99987793
3.99996948
3.99999235
3.99999862
3.99998585
4.00009994
3.99722052
3.94407947
3.56249395
0.80000175
291270.889
3.5763E-07
-2796201.9

П.3.2. Вычисление экстраполированного значения

ni Разработка программ, реализующих комбинацию численных методов - student2.ru Разработка программ, реализующих комбинацию численных методов - student2.ru Разработка программ, реализующих комбинацию численных методов - student2.ru
     
-0.876986575    
-0.877544684 -0.000558109  
-0.877580185 -3.55003E-05 15.72124
-0.877582413 -2.22854E-06 15.92984
-0.877582553 -1.39437E-07 15.98243
-0.877582561 -8.71720E-09 15.99560
-0.877582562 -5.44861E-10 15.99894
-0.877582562 -3.40566E-11 15.99868
-0.877582562 -2.13496E-12 15.95190
-0.877582562 -9.63674E-14 22.15438
-0.877582562 -2.46692E-13 0.390639
-0.877582562 4.35652E-13 -0.566260
-0.877582562 -3.03102E-12 -0.143730
-0.877582562 -1.54612E-11 0.196041
-0.877582562 -3.39551E-11 0.455343
-0.877582562 -3.10440E-10 0.109377
-0.877582562 9.70114E-11 -3.200040
-0.877582566 -3.72529E-09 -0.026040
-0.877582565 9.31324E-10 -3.999990

П.3.3. Результат экстраполяции в сравнении с точным значением

Разработка программ, реализующих комбинацию численных методов - student2.ru

Рис. П.3. Результат экстраполяции в сравнении с точным значением

П.3.4. Результат экстраполяции в сравнении с “эталонным” значением

Разработка программ, реализующих комбинацию численных методов - student2.ru

Рис. П.4. Результат экстраполяции в сравнении с “эталонным” значением

П3..5. Результат экстраполяции с оценкой погрешности по правилу Рунге (сравнением с «правым соседом»)

Разработка программ, реализующих комбинацию численных методов - student2.ru

Рис. П.5. Результат экстраполяции с оценкой погрешности по правилу Рунге

Наши рекомендации