Сущность построения, особенности применения и теоретическое обоснование алгоритмов приближенного решения математических задач. Основы численного метода, нахождение интерполяционного полинома методом Лагранжа. Руководство программиста и пользователя.
Аннотация к работе
Численные методы изучают вопросы построения, применения и теоретического обоснования алгоритмов приближенного решения различных классов математических задач. Во-первых, для численных методов характерна множественность, т. е. возможность решить одну и ту же задачу различными методами.После того как задача сформулирована в математической форме, необходимо найти ее решение. Под численным методом здесь понимается такая интерпретация математической модели («дискретная модель»), которая доступна для реализации на ЭВМ. Полученные результаты изучаются с точки зрения их соответствия исследуемому явлению и при необходимости вносятся исправления в численный метод и уточняется математическая модель. По отношению к численному методу, реализующему данную математическую модель, указанные погрешности являются неустранимыми, поскольку они неизбежны в рамках данной модели. При переходе от математической модели к численному методу возникают погрешности, называемые погрешностями метода.Пусть известны значения некоторой функции y = f(x) в точках х0, х1, …, xn требуется заменить f(x) другой функцией F(x), которая бы просто вычислялась и была близка к f(x) в некотором смысле. Чтобы эта задача была корректной, на функцию f(x) необходимо наложить дополнительные условия: например, потребовать непрерывность ее производных. Способ приближения функции f(x) некоторой функцией F(x), основанный на требовании: F(xk)=f(xk) называется интерполированием или интерполяцией. Такой способ приближения имеет в своей основе гипотезу, что на небольших отрезках изменения х функция f(x) может быть достаточно хорошо приближена с помощью параболы некоторого порядка, аналитическим выражением которой и будет алгебраический многочлен. К интерполированию приходится иногда прибегать и в том случае, когда для функции f(x) известно и аналитическое представление, с помощью которого можно вычислять ее значения для любого значения х из отрезка [a, b], в котором она определена, но вычисление каждого значения сопряжено с большим объемом вычислений.Основная идея этого метода состоит в том, чтобы прежде всего найти многочлен, который принимает значение 1 в одной узловой точке и 0 во всех других. Задача интерполирования алгебраическими многочленами состоит в том, чтобы построить многочлен степени n, значения которого в заданных точках , , совпадают со значениями функции в этих точках. Запишем систему многочленов n-й степени: Составим линейную комбинацию этих многочленов (их количество равно n 1) с коэффициентами линейной комбинации, равными значениям сеточной функции, получим многочлен n-й степени: (3)Интерфейс: Т.к. основной структурой нашей программы является модуль, то для более легкого использования другими пользователями будет доступна только одна функция, которая сама будет управлять входными данными и предоставлять рассчитанный интерполирующий полином. Входные данные: уравнение функции, строковое представление интервала, переменная x и число точек интерполяции. Входные данные: строковое представление функций, строковое представление интервала, переменная x и число точек итерации. Выходные данные - массив из 2-х элементов содержащий нижнюю и верхнюю границу интервала. 5) Функция вычисления значений ”функций”, которую мы ввели, с помощью ранее найденных оптимальных значений переменной x.1) Массивы представляющие сами функции и их аргументы private static string SFUNC = ""; Интерфейсы функций: 1) Обработка входного интервала представленного private static double[] GETINTERVAL(string str) 3) Выбор коэффициентов, функций и аргументов функций из уравнения представленного в виде строки private static void GETPARAMETERS(string str)Метод считывания параметров основан на разборе строки с помощью символов ^, *. До символа * располагается область коэффициента, если * нет, то коэффициент равен 1 (сохраняется в массив DKOEF). После символа ^ расположена область степени функции, если ^ нет то степень равна 1 (сохраняется в массив DSTEP). Между * и ^ располагается сама функция. Она состоит из идентификатора функции (exp, x, ctg, tg, sin…, сохраняется в массив SFUNC).· После запуска программы на вашем экране появилось окно, на котором есть область для ввода функции, поля для выбора отрезка [a;b] в переделах которого находятся точки x0 ,…, xn,поле для ввода переменной x и поле для ввода числа точек интерполяции. · Введите функцию, с помощью которой будет вычисляться значение функции для каждой точки xi. Введите границы отрезка [a;b] в переделах которого находятся точки x0 ,…, xn,что позволяет повысить точность итерации.Жмем кнопку ”Вычислить интерполяционный полином” и в области “Результат” получаем значение интерполяционного полинома. Более подробная информация по использованию программы находится в программе в разделе “Помощь - справка”)В курсовой работе я рассмотрел разработку и реализацию численных алгоритмов. Реализовал алгоритм помогающий найти полиномиальную интерполяцию методом Лагранжа. Данный алгоритм написан на языке Microsoft Visual C# 2005 Express Edition
План
Содержание
Введение
1. Анализ предметной области
1.1 Основы численного метода
1.2 Интерполирование и приближение функции
1.3 Интерполяция методом Лагранжа
2. Анализ требований
3. Проектирование
4. Руководство программиста
5. Руководство пользователя
6. Тестирование
Заключение
Введение
Численные методы изучают вопросы построения, применения и теоретического обоснования алгоритмов приближенного решения различных классов математических задач. В настоящее время большинство вычислительных алгоритмов ориентировано на использование быстродействующих ЭВМ. Следует отметить некоторые особенности численных методов. Во-первых, для численных методов характерна множественность, т. е. возможность решить одну и ту же задачу различными методами. Во-вторых, вновь возникающие естественнонаучные задачи и быстрое развитие вычислительной техники вынуждают переоценивать значение существующих алгоритмов и приводят к созданию новых.
Целью моей курсовой является разработка и реализация численных алгоритмов, нахождение интерполяционного полинома методом Лагранжа.
В курсовой работе я рассмотрел разработку и реализацию численных алгоритмов. Реализовал алгоритм помогающий найти полиномиальную интерполяцию методом Лагранжа. Данный алгоритм написан на языке Microsoft Visual C# 2005 Express Edition. Я использовал язык C# так как он очень удобный в обращение. Он превосходит по некоторым параметрам функциональности другой язык программирования, как Delphi, потому что: 1. есть ряд функций облегчающих работу программиста такие как split и foreach;
2. есть возможность ограничения доступа к полям в структурах, что не мало важно;
3. есть составные операторы такие как =,-=,*=, /=, ,-.
И, конечно, что не мало важно есть недостатки - в C# существуют некоторые функции, которые записываются в достаточно длинной форме, что имеет существенное значение при написание очень длинных программ.