Постановка задачи.
Вычислить максимум функции F(x)=-L(x1)x2+3.1L(x2)x+5 на отрезке [a;b] с точностью е.
L(x1), L(x2) - значения интерполяционного многочлена, построенного для таблично заданной функции f(x) в точках x1, x2.
Исходные данные:
a=0; b=2;
x1=0.02345;
x2=0.43210;
е=10-4;
x |
0 |
0.1 |
0.2 |
0.3 |
0.4 |
0.5 |
0.6 |
f(x) |
1.821948 |
1.833125 |
1.841914 |
1.848081 |
1.851401 |
1.851659 |
1.858652 |
Для решения поставленной задачи необходимо разработать программные модули, выполняющие следующие действия:
- - главный модуль, получающий исходные данные (таблично заданную f(x), a, b, x1, x2, е), передающий их на обработку и выводящий конечные результаты (L(x1), L(x2) и найденный максимум функции F(x))
- - модуль поиска значения интерполяционного многочлена L(x1), L(x2)
- - модуль поиска максимума функции F(x) численным методом, использующий L(x1), L(x2) как коэффициенты при x2 и x.
Блок-схема
Поиск значений интерполяционного многочлена в точках x1 и x2
Постановка задачи:
Требуется найти L(x1), L(x2) - значения интерполяционного многочлена, построенного для таблично заданной функции f(x) в точках x1,x2. Задача состоит в замене некоторой функции у = f(х) другой функцией g(х,а0,а1,...,an) таким образом, чтобы отклонение g(х,а0,а1,...,an) от f(x) удовлетворяло в некоторой области (на множестве X) определенному условию. Этим условием является g(xi,a0,a1,…an)=f(xi) при i=0,..,n, которое означает, что аппроксимируемая функция f(x) совпадает с g(xi,a0,a1,…an) в так называемых узлах интерполяции x0,x1,…,xn. Это частный случай аппроксимации, называемый интерполяцией.
Выберем для решения задачи интерполяции интерполяционный многочлен Лагранжа, так как его построение просто в алгоритмизации, не требует вычисления конечных разностей функции, может быть умещено в одну небольшую процедуру - функцию. Кроме того, метод Лагранжа работает и для не равноотстоящих интерполяционных узлов, к тому же не имеет различий, если точки x1 и x2 для поиска значений L(x1), L(x2) лежат в начале или в конце отрезка, где таблично задана функция.
Описание метода:
Задача интерполяции будем решать построением многочлена Лагранжа, который имеет вид:

Степень многочлена n обеспечивается n+1 интерполяционным узлом. Для задания таблицы значений функции будем использовать два массива x() и y(). Полином должен удовлетворять условию Ln(xi)=y(i).