Смекни!
smekni.com

Разработка алгоритма программы нахождения производной методом неопределённых коэффициентов (стр. 1 из 3)

ТУЛЬСКИЙ АРТИЛЛЕРИЙСКИЙ ИНЖЕНЕРНЫЙ ИНСТИТУТ

Кафедра №10 «Математического, программного и

информационного обеспечения АСУ»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту по дисциплине

«1001 – Дискретная математика»

Тема: «Разработка алгоритма программы нахождения производной

методом неопределённых коэффициентов»

Руководитель:

Исполнитель:


СОДЕРЖАНИЕ

Введение

1.Постановка и уяснение задачи:

1.1Анализ предметной области

1.1.1 Метод неопределённых коэффициентов

1.1.2 Использование интерполяционных многочленов

1.1.3 Использование конечно разностных соотношений для аппроксимации производных

2. Разработка алгоритма и программы:

2.1 Разработка алгоритма

2.2 Обоснование выбора языка программирования

2.3 Разработка программы

3.Экспериментальное исследование алгоритма и программы:

3.1Решение задачи методом неопределённых коэффициентов

3.2 Тестирование программы

3.3. Руководство программисту

Заключение

Список литературы

Приложение А

Приложение Б

Введение

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

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

Уже в период, предшествовавший появлению ЭВМ, понятия “элементарной” операции претерпели изменения. Решение некоторых частных задач настолько часто встречаются в приложениях, что пришлось составить таблицы их значений, в частности таблицы интегралов Френеля, функций Бесселя и ряда других так называемых специальных функций. При наличии таких таблиц исчезает принципиальная разница между вычислением функций sinx, lnx,… и специальных функций. В том и другом случаях можно вычислять значения этих функций при помощи таблицы, и те и другие функции можно приближая их многочленами, рациональными дробями и т.д.

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

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

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

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

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

1.Постановка и уяснение задачи

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

1.1 Анализ предметной области

1.1.1 Метод неопределённых коэффициентов

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

Искомое выражение для производной k-го порядка для некоторой точке x=xi представляется в виде линейной комбинации заданных значений функции в узлах x0, x1, …, xn:

yi(k)=C0y0+C1y1+…+Cnyn.(2.1)

Предполагается, что эта формула имеет место для многочленов:

y=1; y=x-xi;…; y=(x-xi)n.

Подставляя последовательно эти многочлены в выражение (2.1) можно получить систему линейных алгебраических уравнений для определения коэффициентов С0, С1, …, Сn.

Рассмотрим порядок использования данного метода для нахождения производной на следующем примере.

Пример. Найти выражение для определения производной у1' в случае задания функции в четырёх равноотстоящих узлах.

Решение. Равенство (2.1) запишется в следующем виде

yi(k)=C0y0+C1y12у2+C3у3 . (2.2)

Для нахождения производной у1' используем, например, следующие многочлены:

y=1; y=x-x0; у=(х-х0)2; y=(x-x0)3. . (2.3)

Производные этих многочленов будут иметь следующий вид соответственно:

y'=0; y'=1; у'=2(х-х0); y'=3(x-x0)2. . (2.4)

Подставляя последовательно соотношения (2.3) и (2.4) соответственно в правую и левую части равенства (2.2), получим в общем виде при х=х1, следующую систему линейных алгебраических уравнений для определения коэффициентов С0, С1, …, Сn:

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


Решив данную систему уравнений, получим следующие значения коэффициентов и выражение для нахождения производной у1':

1.1.2 Использование интерполяционных многочленов

Пусть функция f(x) задана в виде таблицы yi=f(xi), i=0,1,…n с постоянным шагом h. Предположим, что эта функция может быть аппроксимирована интерполяционным многочленом Ньютона:

Этот многочлен можно продифференцировать по х с учётом правила дифференцирования сложной функции:

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


Пусть та же функция может быть аппроксимирована интерполяционным многочленом Лагранжа. Рассмотрим интерполяционный многочлен Лагранжа для случая трёх узлов интерполяции (n=2):

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

В частности,

1.1.3 Использование конечно разностных соотношений для аппроксимации производных

Производной функции y=f(x) в точке x0 называется предел при Dx®0 отношения приращения функции в этой точке к приращению аргумента (при условии, что этот предел существует). Для обозначения производной функции y=f(x) в точке x0 используют символы y'(x0) или f'(x0). То есть, по определению,

(1.1)

Аппроксимацией (приближением) производной с помощью отношения конечных разностей называется соотношение (1.2) в котором значения Dу, Dх конечные, в отличие от их бесконечно малых значений в (1.1).

(1.2)

Пусть функция задана таблично с постоянным шагом h.

x0 x1 x2 xn
y0 y1 y2 yn

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

Dy1=y1-y0 , Dx=h, y1'=(y1-y0)/h;

Dy1=y2-y1, Dx=h, y1'=(y2-y1)/h;

Dy1=y2-y0 , Dx=2h, y1'=(y2-y0)/2h.