Смекни!
smekni.com

Исследование точности численного интегрирования 2 (стр. 3 из 5)

Рисунок 2. Зависимость количества итераций от критерия точности

Рисунок 3. Зависимость количества итераций от критерия точности


Рисунок 4. Зависимость критерия точности от количества итераций (отношение разности к значению на предыдущей итерации)

Рисунок 5. Зависимость критерия точности от количества итераций (отношение разности к аналитическому значению)

Рисунок 6. Зависимость критерия точности от количества итераций


Рисунок 7. Зависимость критерия точности от количества итераций

Рисунок 8. Зависимость критерия точности от количества итераций

Рисунок 9. Зависимость критерия точности от количества итераций


Рисунок 10. Зависимость критерия точности от количества итераций интегрирования 1/х при разных верхних пределах интегрирования.

Рисунок 11


3. Анализ результатов

Если внимательно посмотреть результаты, то можно заметить отсутствие зависимости кол-ва итераций от заданного критерия точности для функции sin2x. Так как исследование проходит на интервале [0, π], то величина данного интеграла равна 0 (то есть в условиях программного расчета близка к нулю). Широко известно, что деление на ноль «не приветствуется», но если проводить расчет в данной программе, то можно увидеть, что в конце концов появится результат – 32 итерации, это происходит из-за того, что кол-во отрезков n, на которые разделен интервал интегрирования, имеет тип int, то есть четырехбайтовое целое знаковое число. На 31 итерации n приняло свой максимум, и на следующих итерациях критерий становится равным 0, что удовлетворяет любому заданному критерию, поэтому я решил, что эти измерения не целесообразны. Из второй зависимости видно что критерий точности для этой функции на двадцатой итерации только начинает приближаться к заданному интервалу критериев точности (порядка 10^-3).

Зависимости для функций 1/x, 1/x^2, sin7x и sin9x ведут себя почти одинаково при всех данных, а вот sinx отличается относительно «рекордной» точностью в измерениях (особенно расчетом методом трапеций, этот метод лучший при расчете площади под прямой линией).

Интегралы всех функций, кроме sinx, имеют лучшую точность при расчете методом Симпсона, но с учетом, что интервал интегрирования разбит на достаточно большое кол-во отрезков. На первых итерациях данный метод дает точность хуже, так как он рассчитан на более-менее изогнутые и не постоянные функции. Этим же объясняется его «не лучший» расчет интеграла sinx, так как эта функция, по-сравнению с остальными, менее изогнута (на заданном интервале), например sin mx очень часто изгибается, а 1/x и 1/x^2 очень стремительно вначале убывает.

При исследовании на функциях 1/x и sin2x влияния увеличения верхнего предела на точность установлено что, на точность интегрирования функции 1/x увеличение верхнего предела почти не влияет, это видно по графику на рисунке 10.

А вот на функцию sin2x увеличение верхнего предела влияет значительно. При малых значениях итераций с увеличением предела точность ухудшается, а вот при итерациях > 4-5 значительное улучшение.


4. Описание применения

4.1 Назначение программы

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

4.2 Условия применения.

Программа предъявляет очень скромные требования к ресурсам вычислительной установки. Для компиляции и сборки программы используется Microsoft Visual С++ 2005.

4.3 Описание задачи

Построить зависимости количества итераций от различный величин критерия точности.

Построить обратные зависимости критерия точности от количества итераций.

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

Исследовать влияние увеличения верхнего предела интегрирования на точность (при прочих неизменных величинах).


5. Программа и методика испытаний

5.1 Объект испытаний

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

5.2 Цель испытаний

Целью испытаний является проверка точности работы программы для данной задачи.

5.3 Требования к программе

Во время испытаний следует проверить правильное вычисление заданных интегралов и критериев точности.

5.4 Средства и порядок испытаний

Испытания следует проводить на установке удовлетворяющей п.1.2. Для проверки корректности работы программы достаточно провести более трех вычислений различных интегралов.

5.5 Методы испытаний

В качестве метода испытаний предоставляется следующий пример работы программы.

При запуске программы выдается сообщение о выборе зависимости. Нажимаем 2 и ENTER. Далее выбираем делитель для вычисления критерия точности, выберем аналитическое значение (жмем 2 и ENTER). Далее выберем метод трапеций вычисления значений интеграла, жмем 1 и подтверждаем кнопкой ENTER. Выберем функцию m/x (это номер 2). Вводим пределы 1 и 3 и коэффициент m=1. Исследовать влияние увеличение верхнего предела не будем, жмем любую кнопку, кроме ‘y’. Ждем, и после сообщения возвращаемся в самое начало нажатием ESC. Теперь в файле “D:\Zavisimost1.txt” должны быть записаны данные.

Данные файла “D:\Zavisimost1.txt”:

«Данные для построения зависимости критерий точности от кол-ва итераций

Выбранное отношение для критерия точности -2

Выбранный метод -1

Выбранная функция -2

Нижний предел интегрирования a=2,000000

Верхний предел интегрирования b=3,000000

Коэффициент m=1,000000

Кол-во итераций Критерий точности

1 4,316031e-001

2 2,108191e-001

3 1,040970e-001

4 5,171560e-002

5 2,577427e-002

6 1,286624e-002

7 6,427892e-003

8 3,212639e-003

9 1,605993e-003

10 8,029148e-004

11 4,014370e-004

12 2,007134e-004

13 1,003554e-004

14 5,017739e-005

15 2,508862e-005

16 1,254429e-005

17 6,272139e-006

18 3,136068e-006

19 1,568034e-006

20 7,840168e-007»


6. Руководство пользователя

6.1 Назначение программы

Данная программа предназначена для исследования внутренней сходимости численного интегрирования методами Симпсона и трапеций для различных функций.

6.2 Условия и характеристики выполнения программы

Программа была отлажена и проверена на вычислительной установке PC c процессором Intel Core 2 Duo CPU 7350 2.0GHz, работающей под управлением операционной системы Windows XP SP 3 версия 5.1 сборка 2600.xpsp.080413-2111.

Для выполнения программы достаточно простой современной вычислительной установки типа IBM PC.

Для компиляции и сборки программы требуется компиляторы Microsoft Visual С++ 2005 Express Edition или Microsoft Visual Studio 2008.

6.3 Выполнение программы

Запустить исполняемый файл и следовать инструкциям на экране.

6.4 Сообщения оператору

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

- «Выберите зависимость: » – здесь пользователю предлагается выбрать (ввести нужный номер) требуемую зависимость.

- «Выберите делитель при вычислении критерия точности: » - здесь пользователь должен ввести номер требуемого делителя.

- «Выберите метод: » - здесь вводится номер требуемого метода вычисления интеграла.

- «Нижний предел интегрирования a= » - вводим нижний предел.

- «Верхний предел интегрирования b= » - вводим верхний предел.

- «Коэффициент m= » - вводим коэффициент.

- «Провести исследование влияния увеличения верхнего предела?? Y???» - если требуеся то жмем ‘y’, если нет, то любую кнопку.

6.5 Входные и выходные данные

Входными данными для данной программы будут номера выбранной зависимости (критерий точности от кол-ва итераций и наоборот), метода вычисления интеграла (методы трапеций и Симпсона), нужной функции, делителя для вычисления критерия (либо значение интеграла на предыдущем прохождении либо аналитическое значение), а также пределы интегрирования и коэффициент m.

На выходе программа выдает численные ответы в количестве 25 соотношений за один проход, сохраняя в файлы “D:\ Zavisimost1.txt” и “D:\ Zavisimost2.txt “.

6.6 Сборка программы

Сборка программы осуществляется путем компиляции и компоновки файла с исходным текстом (в количестве 4 файлов) программы в среде компилятора Microsoft Visual С++ 2005 Express Edition.


7. Описание программы

7.1 Общие сведения

Данная программа предназначена для исследования внутренней сходимости численного интегрирования методами Симпсона и трапеций для различных функций.