Pers.narod.ru. Обучение. Компактно считаем полином Лагранжа в Excel

Теоретическое описание и формулу полинома Лагранжа можно найти, например, здесь. Численные методы сейчас многие изучают тоже в Excel, в котором готовой функции построения интерполяционного многочлена (канонического полинома, полинома Лагранжа или полинома Ньютона) нет.

В инете — либо странные советы (например, построить график и использовать в настройках рядов данных графика функцию "линия тренда" — совершенно не то, если понимать, что в Excel доступны только сглаживающие, а не интерполирующие кривые), либо дикие решения с расчётом каждой разности xi-xj в отдельной ячейке и т.п.

Меж тем, всё очень просто и считается так, как показано на скрине.

Перед вводом формулы 1 надо выделить ячейки C2:C9, а потом уже вводить, как обычно и делается при работе с формулами диапазонов.

Для другого количества точек будут просто другие диапазоны в первой и второй формулах.

Компактный расчёт полинома Лагранжа в точке — скачать пример в Excel XP/2003 (11 Кб)

Пример. Построить многочлен Лагранжа 3-й степени, если заданы значения в 4-х узлах интерполяции:

xi-1
yi-1

Решение: Многочлен Лагранжа для четырех узлов интерполяции запишется так –

(3.15)

Для вычисления значения многочлена в точке х можно воспользоваться электронными таблицами Exel (рис. 18). В ячейки А3:А6 и В3:В6 записываются соответствующие значения yi и xi. В ячейки С3:С6 – формулы для вычисления pi(x). В столбце D3:D7 вычисляется значение

ABCD
Вычисление многочлена Лагранжа
yixiX
-1-1=$D$2-B3=A3*(C5*C4*C6)/((B3-B4)*(B3-B5)*(B3-B6)
Копировать С3 в С6=A4*(C3*C5*C6)/((B4-B3)*(B4-B5)*(B4-B6)
=A5*(C3*C4*C6)/((B5-B3)*(B5-B4)*(B5-B6)
=A6*(C3*C4*C5)/((B6-B3)*(B6-B4)*(B6-B5)
Значение L3(x)=СУММ(D3:D6)

4 .Варианты лабораторных работ для решения алгебраических и трансцендентных уравнений .

Задания: На отрезке [-10, 10] определить корни следующих уравнений:

8. x^3 – 0,1x^2+0,4x-1,5=0

23. -lnx=0

24. -lnx=0

5. Варианты лабораторных работ для решения систем линейных алгебраических уравнений .

Найти решение системы линейных уравнений методом итераций с точностью е=10-3:

Варианты лабораторных работ для решения систем линейных алгебраических уравнений .

Найти решение системы линейных уравнений методом итераций с точностью е=10-3:

Варианты лабораторных работ для решения систем линейных алгебраических уравнений .

Найти решение системы линейных уравнений методом итераций с точностью е=10-3:

Варианты лабораторных работ для решения систем линейных алгебраических уравнений .

Найти решение системы линейных уравнений методом итераций с точностью е=10-3:

6. Варианты лабораторных работ для решения задач интерполирования .

Задания. Построить интерполяционный полином Лагранжа L(x). Вычислить приближенное значение F(x) с помощью L(x) в точке х= , выполнить вычисления с помощью Exel.

xk0.10.30.40.6
yk-0.10.50.81.7
xk-1-0.50.10.4
yk1.02.21.70.8
xk1.11.21.41.7
yk-2.0-1.8-1.3-1.0
xk-1.0-0.50.3
yk0.90.70.40.8
xk3.23.43.7
yk-14-10-8-12
xk1.03.07.010.0
yk0.30.70.91.0
xk-10.0-8.0-5.0-2.0
yk6.03.00.0-4.0
xk2.03.05.06.0
yk0.71.22.23.0
xk0.71.22.23.0
yk0.81.01.31.2
xk
yk0.010.030.080.12
xk-10-8-5-2
yk-2
xk
yk0.1-0.2-0.3
xk2.03.24.25.6
yk-15-10-8-6
xk-4-3-2
yk
xk10.511.512.513.0
yk-6-7-5

6. Варианты лабораторных работ для решения задач интерполирования .

Задания. Построить интерполяционный полином Лагранжа L(x). Вычислить приближенное значение F(x) с помощью L(x) в точке х= , выполнить вычисления с помощью Exel.

xk
yk-3-2
xk-0.30.10.00.4
yk
xk-7.10.23.45.6
yk-4-2-2
xk
yk
xk-5-4-2
yk0.20.250.230.19
xk1.011.021.031.04
yk2.71832.77322.80112.8292
xk1.001.11.151.2
yk0.36420.33290.31660.3012
xk1.001.061.121.19
yk1.171.271.361.49
xk1.111.131.161.18
yk3.033.093.183.25
xk1.021.051.101.20
yk0.53190.49760.45360.3624
xk1.021.071.091.14
yk1.561.621.691.72
xk1.001.011.021.03
yk0.010.01980.0296
xk1.041.051.061.07
yk2.822.852.882.91
xk1.101.111.121.13
yk1.331.351.361.38
xk1.151.161.171.18
yk1.421.431.451.47
xk1.081.091.11.11
yk2.94472.97433.00423.0344

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: На стипендию можно купить что-нибудь, но не больше. 9016 — | 7251 — или читать все.

78.85.5.224 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Лабораторная работа №2

Приближение функций, заданных таблично

Цель лабораторной работы

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

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

Задание

Для функций, заданных в таблице 1:

· построить интерполяционный многочлен Лагранжа и вычислить по нему значения функции для заданных значений аргумента;

· изучить технологию расчетов интерполяционных многочленов в Excel;

Для функций, заданных в таблице 2:

· Вычислить коэффициенты аппроксимирующих многочленов 1-й и 2-й степени, записать многочлены и построить их графики, на которые нанести также заданные табличные точки (расчеты выполнить в виде таблиц);

· изучить технологию регрессионного анализа с помощью Excel.

Интерполирование функций

Постановка задачи

Для функций, заданных таблицами их значений на конечном интервале, возникает необходимость вычисления значений функций для значений аргументов, отсутствующих в таблице. Тогда строят функцию, которая в заданных точках принимает заданные значения, а в остальных точках интервала приближенно представляет заданную функцию. А затем вычисления значений функции для любых значений аргумента в области определения заданной таблично функции выполняют по построенной функции. Задача интерполирования – построение такой приближенной функции. Чаще всего интерполирующую функцию отыскивают в виде алгебраического многочлена. Геометрически задача интерполирования заключается в построении кривой , проходящей через заданную таблично систему точек.

Интерполяционная формула Лагранжа

Пусть функция в точках соответственно принимает значения .Требуется построить многочлен степени не выше n, принимающий в точках (узлах интерполирования) значения . Расстояние между узлами интерполирования может быть различным. Решение этой задачи – многочлен Лагранжа.

Интерполяционная формула Лагранжа в общем виде

где – базисные функции, числитель которых содержит все разности , а знаменатель – все разности за исключением .

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

Пример 1.1. Запишем интерполяционный многочлен для функции, заданной тремя точками:

X
Y

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

Для построения интерполяционного многочлена воспользуемся формулой при :

Проверяем значения функции для узлов интерполяции:

Интерполяционную формулу в Ехсеl можно построить достаточно простым способом. С практической точки зрения главная проблема заключается в вычислении в произвольной точке значений базисных функций.

Пример 1.2. Запишем интерполяционный многочлен для функции, заданной шестью точками:

X0X1X2X3X4X5Y0Y1Y2Y3Y4Y5X
1,11,21,31,41,51,60,880,910,930,950,960,971,54

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

В диапазоне ячеек А6:А11представлены заданные значения аргументов функции, а в диапазоне ячеек В6:В11– значения функции для узловых точек аргумента. В ячейку А2вводится значение аргумента, для которого необходимо вычислить значение интерполяционного полинома. Значение полинома будет выводиться в ячейке В2.Важным моментом является заполнение ячеек в диапазоне С6:С11,где будут отображаться значения базисных функций в точке, указанной в ячейке А2.Именно по этим значениям и значениям ячеек из диапазона А6:А11определяется значение интерполяционного полинома (ячейка В2).

Диапазон С6:С11заполняется так: отдельно первая и последняя ячейки диапазона, а все остальные ячейки — распространением одной формулы. В частности, в ячейку С6вводится формула

согласно которой определяется первая базисная функция. Сразу следует отметить, что и эта формула, и все прочие формулы из диапазона С6:С11,вводятся как формулы для диапазонов, т.е. с помощью нажатия комбинации клавиш Ctrl+Shift+Enter.Причина состоит в том, что аргументами функции ПРОИЗВЕД() указываются результаты арифметическихопераций с диапазонами.

Далее заполняются ячейки из диапазона С7:С10.Для этого в ячейку С7вводится формула

Абсолютные и относительные ссылки в формуле подобраны так, чтобы при ее копировании в следующие ячейки, ссылки на начальную А6 и конечную А11ячейки диапазона, равно как и на ячейку А2со значением переменной, для которой вычисляется базисная функция (и весь полином), оставались неизменными. Это абсолютные ссылки. Вместе с тем, в процессе копирования формулы произведения в ней вычисляются без учета значения аргумента в той строке, где размещена формула. После ввода формулы в ячейку С7данная формула с помощью маркера заполнения копируется во все ячейки, вплоть до С10 (Рис. 1.2).

Наконец, в ячейку С11необходимо ввести формулу

Поскольку формулы из начальной С6 и конечной С11ячеек диапазона С6:С11никуда копировать не предполагается, то и ссылки там относительные. Результат можно видеть на рис. 1.3.

После этого осталось только вычислить интерполяционный полином. Для этого достаточно в ячейку В2ввести формулу

Эта формула вводится как обычная, то есть нужно нажать клавишу Enter.Результат представлен на рис. 1.4.

Чтобы посчитать значение полинома в какой-то точке, соответствующее значение следует ввести в ячейку А2. В ячейке В2практически сразу появится результат.

Ответ:

На рис. 1.5 проиллюстрирована ситуация, когда в качестве аргумента указано узловое значение. Как и следовало ожидать, в узловой точке значение интерполяционного полинома равно табличному значению функции в этой точке, а все базисные функции, кроме той, что соответствует указанному узлу, равны нулю. Отличная от нуля базисная функция равна единице.