Root - решение уравнения методом дихотомии
Главная → Проекты → Решение уравнения методом дихотомии
Согласно заданию нам необходимо написать, протестировать и оценить эффективность функции для решения уравнения ƒ(х) = 0 методом деления отрезка пополам (методом дихотомии), причем на каждой итерации отрезок [a,b] делится пополам и выбирается та из половин, на концах которой функция ƒ(х) имеет значения разных знаков. Существует множество названий этого метода, однако суть метода, как правило, сводится либо к рекурсивному, либо циклическому алгоритму.
- Ввод данных (точки начального приближения: a,b)
- Проверка данных, введенных пользователем
- Решение задачи
- Проверяем, имеет ли задача решение вообще (ƒ(a)·ƒ(b)< b)
- Если задача не имеет решения, то прекращаем вычисления и выводим пользователю сообщение о том, что решение не может быть найдено. Иначе:
- Ищем решение
- i. Вычислить с := 0,5·(а+b).
- ii. Если b-а < 2·ε , положить ξ:≈с (ξ(кси) - корень) и остановиться.
- iii. Вычислить f(с).
- iv. Если ƒ(с) < δ, положить ξ:≈с и остановиться.
- v. Если ƒ(а)·ƒ(с) < 0, положить b:=с и вернуться к шагу i; иначе положить а:=с, ƒ(а):=ƒ(с) и вернуться к шагу i.
- Вывод результата
- Завершение работы
В заключение хочется отметить то, что приложение получилось очень неплохим по своим показателям. Достаточно хорошо проанализированная область математики предрешила удачный и однозначный алгоритм получения корня уравнения с весьма высокой точностью (15 знаков после разделителя целой и дробной части).
С точки зрения разработчика было потрачено около 10 часов на математический анализ поставленной задачи, 2 часа на разработку алгоритма, 4 часа на создание программного кода и рисование интерфейса, 6 часов на отладку и порядка 10 часов на написание программной документации.
С точки зрения конечного пользователя программа получилась очень удачной в плане экономии процессорного ресурса и оперативной памяти. Процессу требуется порядка 4 Мб оперативной памяти и вычисления производятся за момент времени, незаметный для пользователя.
Описание программы полностью (формат OpenDocument)
December 12, 2006Реклама:
Комментарии:
e-mail (не публикуется):
комментарий:
Вы можете оставить первый комментарий.