Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР-12. Интерполяционный многочлен Лагранжа (FOR...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
560.64 Кб
Скачать

Лабораторная работа № 12 интерполяционный многочлен лагранжа

Цель работы – освоить навыки построения в среде Fortran интерполяционного многочлена Лагранжа для табличной функции Y(x); научиться строить графические программы.

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

  1. Для заданной табличной функции Y(x) (результаты эксперимента) построить интерполяционный многочлен Лагранжа .

  2. Проверить правильность многочлена Лагранжа , нанеся на график табличную и полиномиальную функции.

  3. Исходные данные ввести из текстового файла.

  4. Выполнить поставленную задачу в среде программирования 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

Порядок выполнения типового варианта

  1. Создайте новый проект графического приложения с именем Lab12_V1.

  1. Выберите многооконный интерфейс программы и нажмите Finish.

  1. Ознакомьтесь с информацией о Вашей программе и нажмите OK.

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

  1. Выберите тип файла в свободном формате.

  1. Пустой исходный файл Lab12_V1.f90 откроется в окне редактора.

  1. Вставьте в проект текстовый файл для ввода исходных данных (команда меню «Project / Add to Project / New…»).

  1. Выберите на вкладке «Files» диалоговой панели «New» тип вставляемого объекта «Text File», введите имя файла Lab12_V1 в окне «File name» и подтвердите установки нажатием на кнопку OK.

  1. В результате новый текстовый файл Lab12_V1.txt (расширение имени файла .txt будет добавлено автоматически) будет вставлен в проект и открыт в окне редактора. Внесите через пробел данные задания (сначала количество точек – узлов интерполяции, затем, построчно, пары координат точек).

  1. Отредактируйте текст программы (файл Lab12_V1.f90) в соответствии с заданием, снабдив операторы программы комментариями.

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

  • Организуйте ввод исходных данных из текстового файла Lab12_V1.txt. Сначала считайте количество точек – узлов интерполяции, затем, построчно, пары координат точек.

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

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

  • После ключевого слова CONTAINS определите тела внутренних подпрограмм. Первая подпрограмма рисует оси координат графика зеленым цветом.

  • В следующей подпрограмме организуйте рисование узлов интерполяции и кривой полинома Лагранжа.

  • В завершение запрограммируйте функцию расчета точки кривой полинома Лагранжа.

  1. Запустите на выполнение графическое приложение. В появившемся диалоговом окне, которое предлагает закрыть окно программы или продолжить его анализировать, нажмите «Нет».

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

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

  1. Завершите работу приложения и интегрированной среды Microsoft Developer Studio.

  2. Оформите отчет о проделанной лабораторной работе в соответствии с вариантом (см. далее пример оформления работы).

ВАРИАНТЫ ЛАБОРАТОРНЫХ РАБОТ

Номер

варианта

Исходные данные

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

ПРИМЕР ОФОРМЛЕНИЯ ОТЧЕТА