Программирование Отчёт по практике Информатика

Отчёт по практике на тему Численное решение нелинейных уравнений (Язык с#)

  • Оформление работы
  • Список литературы по ГОСТу
  • Соответствие методическим рекомендациям
  • И еще 16 требований ГОСТа,
    которые мы проверили
Нажимая на кнопку, я даю согласие
на обработку персональных данных
Фрагмент работы для ознакомления
 

Содержание:

 

ВВЕДЕНИЕ 3
Постановка задачи 5
Описание алгоритма 6
Описание процесса реализации 9
Описание результатов тестирования 13
ЗАКЛЮЧЕНИЕ 16
СПИСОК ЛИТЕРАТУРЫ 18
ПРИЛОЖЕНИЯ 20
Приложение А Листинг кода 20
Приложение Б Блок-схема 22
Приложение В Экранные копии формы на различных этапах работы 23

  

Введение:

 

В настоящее время в связи с бурным развитием быстродействующих ЭВМ создано огромное количество универсальных программных комплексов, которые используют численные методы для решения сложных задач механики твердого деформируемого тела, гидродинамики, теплопередачи и оптимизации технических систем. Главным методом исследования сложных процессов и систем сегодня стал вычислительный эксперимент, основанный на построении и анализе компьютерной модели изучаемого объекта.
Сложные нелинейные уравнения очень часто встречаются при построении различных моделей или исследовании реальных процессов. Аналитическое решение таких уравнений часто очень усложненно. В математике даже для обычных многочленов высших порядков (выше 4-го) не существует универсальных подходов нахождения корней. А для трансцендентных уравнений или уравнений, в которых встречаются комбинации различных функций, могут быть предложены только эвристические методы, которые позволяют решить лишь малую часть таких уравнений. В этом случае на помощь приходят численные итерационные методы
Численные методы всегда дают приближенный результат, но их преимуществом является то, что большинство из них позволяют находить решение с наперед заданной точностью. Точность зависит от количества итераций (объема вычислений) при условии сходимости метода.
Объектом исследования выступают числовые методы решения нелинейных уравнений.
Предметом исследования практической работы является адаптация методов для реализации в программном виде с цель практического использования.
Целью работы является реализация программного комплекса для решения нелинейного уравнения с использованием выбранного метода.
Задачи:
— провести анализ метода половинного деления и определить его ограничения;
— разработать (изучить существующие предложения) алгоритм данного метода;
— практически реализовать алгоритм в виде программного приложения с использованием языка С#;
— протестировать реализованное программное приложение.

Не хочешь рисковать и сдавать то, что уже сдавалось?!
Закажи оригинальную работу - это недорого!

Заключение:

 

Для нахождения корней уравнений предложено ряд различных методов. Основным отличием (с точки зрения получения конечного результата) является сходимость методов и скорость сходимости.
Мощным инструментом теоретического исследования алгоритмов являются именно теоремы о сходимости методов. Однако, как правило, формулировка таких теорем достаточно абстрактна, при их подтверждении используется аппарат современного функционального анализа. Кроме того, зачастую непросто установить связь полученных математических результатов с практикой вычислений. Дело в том, что условия теорем сложно проверить в конкретных задачах, сам факт сходимости мало что дает, а оценки скорости сходимости не всегда точны и эффективны. При реализации алгоритмов также возникает много дополнительных обстоятельств, строгий учет которых невозможен (ошибки округления, приближенное решение различных вспомогательных задач и т.д.) и которые могут сильно повлиять на ход процесса.
Поэтому на практике частое сравнение алгоритмов проводят с помощью вычислительных экспериментов при решении так называемых специальных тестовых задач. Эти задачи могут быть как с малым, так и с большим числом переменных, иметь разный вид нелинейности. Они могут быть составлены специально и возникать из практических приложений, например задача минимизации суммы квадратов, решение систем нелинейных уравнений и т.п.
Проанализировав вышесказанное, можно сделать вывод численные методы исследования функций весьма актуальны и имеют широкую сферу применения. Особая ценность их, учитывая программную реализацию, заключается в том, что большинство сложных (аналитически) задач сводятся к нахождению сумм или других элементарных операций. Численные методы в большинстве являются универсальными, поэтому выбор метода в первую очередь зависит от скорости сходимости, объема необходимых вычислений, конечной точности, первоначальных условий вычисления.
В объеме практической части работы реализована программа, использующая метод половинного деления, для нахождения корней нелинейных уравнений. Данный метод имеет не очень высокую сходимость, но достаточно прост в реализации и не требует никаких дополнительных вычислений, кроме нахождения значения функции в точке.
Реализованная программа протестирована, результаты приведены в работе.
Задачи, поставленные во введении, выполнены в полном объеме, структура и содержание отчета соответствует требований приведенным в методических рекомендациях.

 

Фрагмент текста работы:

 

Постановка задачи
В практической части учебной практики необходимо реализовать программный комплекс решения нелинейных уравнений с использованием численных методов.
Уравнение задается в коде программы (для изменения уравнения необходимо заменить часть кода, определяющего уравнение и пересобрать проект). Для исследования выбрано уравнение
(1)
В качестве реализуемого подхода выбран поиск корня уравнения методом половинного деления (бинарный поиск, дихотомия).
Входящими параметрами метода являются:
а (действительное) – значение левого края отрезка, на котором осуществляется поиск;
b (действительное) – значение правого края отрезка, на котором осуществляется поиск;
eps (действительное eps>0) – точность с которой нужно найти корень.
По умолчанию считаем, что a<b.
Результатом (при условии, что все требования метода выдержаны) является приближенное значение корня с точностью eps.

Описание алгоритма
Метод половинного деления, в общем, предложен для оптимизации унимодальных функций, то есть для поиска минимума и максимума.
Пусть х* точка экстремума функции f(x) на отрезке [а, b]. За исходный интервал поиска выбирают отрезок [a, b], возлагая
a0 = a, b0 = b.
Предположим, что выполнено s шагов алгоритма и исчисленный интервал [as, bs], содержащий х*. Рассмотрим s+1 шаг.
Делим отрезок [as, bs] пополам и для некоторого достаточно малого числа строим точки

(2)
По основному свойству унимодальной функции возлагаем:
(3)
Получим отрезок [a s+1, b s + 1], содержащий точку х*.
После осуществления n шагов метода будет найден интервал [аn, bn], которому принадлежит точка минимума х * и при этом, как нетрудно видеть,

Положив приближенно , будем иметь погрешность вычисления х* не больше, чем число .
Число

принимают за искомое значения экстремума функции f(x) на интервале [a, b].
Применение этого подхода для поиска корней уравнения базируется на следующей теореме:

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