
- •Лабораторная работа № 12 интерполяционный многочлен лагранжа
- •Постановка задачи:
- •Теоретические сведения
- •Типовой вариант
- •Порядок выполнения типового варианта
- •Лабораторная работа № 12 интерполяционный многочлен лагранжа
- •Постановка задачи
- •Для заданной табличной функции y(X) (результаты эксперимента) построить интерполяционный многочлен Лагранжа .
- •Проверить правильность многочлена Лагранжа , нанеся на график табличную и полиномиальную функции.
- •Исходные данные ввести из текстового файла.
- •Содержание работы
- •(Контрольные вопросы – правильные варианты)
Лабораторная работа № 12 интерполяционный многочлен лагранжа
Цель
работы – освоить
навыки построения в среде Fortran
интерполяционного многочлена Лагранжа
для табличной функции Y(x); научиться
строить графические программы.
Постановка задачи:
Для заданной табличной функции Y(x) (результаты эксперимента) построить интерполяционный многочлен Лагранжа .
Проверить правильность многочлена Лагранжа , нанеся на график табличную и полиномиальную функции.
Исходные данные ввести из текстового файла.
Выполнить поставленную задачу в среде программирования Fortran.
Теоретические сведения
Пусть
на отрезке
заданы узлы интерполяции
и значения функции
в этих узлах
(табл. 1):
Таблица 1
|
|
|
… |
|
|
|
|
… |
|
Необходимо
построить интерполяционный многочлен
,
т.е. многочлен степени не выше
,
значения которого в узлах интерполяции
совпадают с заданными значениями
функции:
.
Доказано,
что такой многочлен существует, притом
единственный. Для построения
интерполяционного многочлена рассмотрим
вспомогательный многочлен
,
равный единице в узле
и нулю – в
остальных узлах интерполяции:
Многочлен имеет вид
.
Тогда
интерполяционный многочлен
может быть записан в виде
.
(1)
Действительно, - многочлен степени не выше n, причём
.
Интерполяционный многочлен (1) называется интерполяционным многочленом Лагранжа, а само равенство (1) - формулой Лагранжа.
Погрешность интерполяционной формулы Лагранжа
удовлетворяет неравенству
,
где
,
,
.
Типовой вариант
Пусть по результатам мониторинга физического процесса в точках X были получены значения измеряемого параметра Y:
-
X
3.2
3.7
4.3
4.9
Y
1.1632
1.3083
1.4586
1.3592
Порядок выполнения типового варианта
Создайте новый проект графического приложения с именем Lab12_V1.
Выберите многооконный интерфейс программы и нажмите Finish.
Ознакомьтесь с информацией о Вашей программе и нажмите OK.
Добавьте в пустой проект файл для исходного текста программы.
Выберите тип файла в свободном формате.
Пустой исходный файл Lab12_V1.f90 откроется в окне редактора.
Вставьте в проект текстовый файл для ввода исходных данных (команда меню «Project / Add to Project / New…»).
Выберите на вкладке «Files» диалоговой панели «New» тип вставляемого объекта «Text File», введите имя файла Lab12_V1 в окне «File name» и подтвердите установки нажатием на кнопку OK.
В результате новый текстовый файл Lab12_V1.txt (расширение имени файла .txt будет добавлено автоматически) будет вставлен в проект и открыт в окне редактора. Внесите через пробел данные задания (сначала количество точек – узлов интерполяции, затем, построчно, пары координат точек).
Отредактируйте текст программы (файл Lab12_V1.f90) в соответствии с заданием, снабдив операторы программы комментариями.
После заголовка главной программы подключите модуль стандартных процедур, сделайте указание об обязательности явного объявления всех переменных и объявите все необходимые для расчета и графического отображения результатов переменные.
Организуйте ввод исходных данных из текстового файла Lab12_V1.txt. Сначала считайте количество точек – узлов интерполяции, затем, построчно, пары координат точек.
Запрограммируйте настройку конфигурации окна, определите число пикселов по горизонтали и вертикали, заполните окно белым фоном, нарисуйте рамку вокруг области рисования графика и задайте видовой порт.
Определите оконную систему координат, вызовите подпрограмму рисования графика и освободите динамичекую память массивов.
После ключевого слова CONTAINS определите тела внутренних подпрограмм. Первая подпрограмма рисует оси координат графика зеленым цветом.
В следующей подпрограмме организуйте рисование узлов интерполяции и кривой полинома Лагранжа.
В завершение запрограммируйте функцию расчета точки кривой полинома Лагранжа.
Запустите на выполнение графическое приложение. В появившемся диалоговом окне, которое предлагает закрыть окно программы или продолжить его анализировать, нажмите «Нет».
В результате этих действий отобразится окно нашей графической программы с многооконным интерфейсом.
Отцентрируйте изображение графика и проанализируйте результаты интерполяции таблично заданной функции с помощью многочлена Лагранжа. Кривая должна проходить через узловые точки.
Завершите работу приложения и интегрированной среды Microsoft Developer Studio.
Оформите отчет о проделанной лабораторной работе в соответствии с вариантом (см. далее пример оформления работы).
ВАРИАНТЫ ЛАБОРАТОРНЫХ РАБОТ
Номер варианта |
Исходные данные |
||||
1 |
|
1,4 0,3365 |
1,8 0.5878 |
2,3 0.8329 |
2,9 1.0647 |
2 |
|
2,0 0,6931 |
2,5 0.9163 |
2,8 1.029б |
3,3 1,1939 |
3 |
|
4,0 1,3863 |
1,5 1,5041 |
1,9 1.5892 |
5,4 1.6864 |
4 |
|
1,2 0,1823 |
1,6 0,4700 |
2,1 0.7419 |
2,6 0.9555 |
б |
|
2,2 0,7885 |
2,7 0,9933 |
3,1 1.1314 |
3,6 1,2809 |
6 |
|
3,2 1,1632 |
3,6 1.2809 |
4,1 1,4110 |
4,6 1.5261 |
7 |
|
3,4 1,2238 |
3,9 1,3610 |
4.3 1,4586 |
4,9 1.5861 |
8 |
|
1,6 0,4700 |
2,1 0,7419 |
2,7 0,9933 |
8,2 1,1632 |
9 |
|
2,8 1,0296 |
3,1 1.1314 |
3,7 1,3083 |
4,2 1,4351 |
10 |
|
3,1 1,1314 |
9,6 1,2809 |
4,0 1,З863 |
4,6 1,5261 |
11 |
|
1,9 0,6419 |
2,5 0,9163 |
2,9 1,0647 |
3.4 1.2238 |
12 |
|
1,7 0,5306 |
2,2 0,7885 |
2,8 1.0296 |
3,2 1.1632 |
13 |
|
3,6 1.2809 |
4,2 1.4351 |
4,5 1,5041 |
5.2 1.6094 |
14 |
|
2,5 0,9163 |
2,9 1,0647 |
3,6 1.2809 |
4,1 1.4110 |
15 |
|
3,3 1,1939 |
3,9 1,3610 |
4,4 1,4816 |
5,0 1,6094 |
16 |
|
1,1 0,0953 |
1,7 0,5306 |
2,4 0.6755 |
2,8 1,0296 |
17 |
|
2,1 0.7419 |
2.5 0.9163 |
3,0 1,0986 |
3,5 1,2528 |
18 |
|
3,2 1,1632 |
3,7 1.3083 |
4,3 1,4586 |
4,9 1,5892 |
19 |
|
2,7 0.9933 |
3,3 1.1939 |
3,8 1.3350 |
4,6 1,5261 |
20 |
|
1,0 0,0000 |
1,5 0.4055 |
2,1 0,7419 |
2,7 0.9933 |
21 |
|
1,4 0,3365 |
1.9 0,6419 |
2,6 0,9555 |
3,0 1,0986 |
22 |
|
3,1 1.1314 |
3.7 1,3083 |
4,2 1.4351 |
4.8 1.5686 |
23 |
|
2,6 0.9555 |
3,2 1.1632 |
4.0 1.3863 |
4,5 1.5041 |
24 |
|
1,6 0.4700 |
2,2 0,7885 |
2,7 0.9933 |
8,4 1,2238 |
25 |
|
2,1 0,7419 |
2,7 0,9933 |
3,3 1.1939 |
3,8 1.3350 |
26 |
|
2,6 0,9555 |
3.0 1,0986 |
30 1,3610 |
4,5 1,5041 |
27 |
|
4,5 1,5041 |
4,9 1.5892 |
5,5 1,7047 |
6,0 1.7916 |
28 |
|
3,5 1,2528 |
3,8 1,3350 |
4,5 1,5041 |
5,1 1.6292 |
29 |
|
2,6 1,0296 |
3,3 1.1939 |
3,9 1,3610 |
4,6 1,5261 |
30 |
|
4,1 1,4110 |
4,6 1,5261 |
5,2 1,6487 |
6,0 1,7918 |
ПРИМЕР ОФОРМЛЕНИЯ ОТЧЕТА