THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

Интерполяция - метод нахождения промежуточных переменных функции по нескольким уже известным значениям. Впервые формулировка "интерполирование" была введена Джоном Валлисом в научном сочинении "Арифметика бесконечных".

Линейная интерполяция

Простейшим случаем интерполяции является "линейная", то есть нахождение величины по двум заданным точкам. Данный процесс вычисления можно рассмотреть как линейную функцию, тем самым делая расчёт более наглядным. Нанесение функции на систему координат называют аппроксимацией. Для этого на оси координат необходимо провести прямую через известные точки. Логично, что искомое значение, находящееся между первыми двумя точками, можно найти графически, зная абсциссу X. Если координата X искомой величины лежит за пределами известных значений (X 1 , X 2), то процесс вычисления называется экстраполяция.

Калькулятор позволяет определить значение ординаты Y искомого значения, зная координаты X и Y двух других функций, а также её абсциссу. Для вычисления необходимо ввести значения заданных двух точек Х 1 , Y 1 и X 2 ,Y 2 , а также указать координату X искомой точки, а сервис автоматически определит метод расчёта и произведёт его.

Формула линейной интерполяции

Для вычисления используется следующая формула:

Пример расчёта

Дано: координаты двух точек А(3;1.5) и B(6;5).
Найти: ординату точки С с абсциссой 4.5.

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

Y = 5 + (1.5 - 5) / (3 - 6) · (4.5 - 6) = 5 + (-3.5) / (-3) · (-1.5) = 3.25.

ЗАДАНИЕ

на курсовую работу по дисциплине

Автоматизированные методы обработки результатов эксперимента.

Тема работы:разработка программы построения графика интерполяционного полинома.

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

Таблица функции:

x
y 0,23 0,56 0,15 0,1 0,27 0,2

ВВЕДЕНИЕ

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

Среда Турбо Паскаля – это первое, с чем сталкивается любой программист, приступающий к практической работе по программированию.

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


ОСНОВНАЯ ЧАСТЬ

ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ

Задача интерполяции.

Пусть задана таблица чисел {xi , fi}, i = 0, 1, …, N ; x0 < x1 < … < xN .

Определение. Всякая функция f(x) такая, что f(xi) = fi ; = 0, 1, …, N называется интерполирующей (интерполяцией) для таблицы .

Задача интерполяции состоит в отыскании (построении) интерполирующей функции (т. е. принимающей в заданных узлах интерполяции xi заданные значения fi) и принадлежащей заданному классу функций. Разумеется, задача интерполяции может иметь или не иметь решение (и при том не единственное), все зависит от «заданного класса функций». Необходимо выяснить условия, при которых задача интерполяции была бы конкретно поставлена. Один из способов интерполяции состоит в том, что интерполирующая функция ищется в виде линейной комбинации некоторых конкретных функций. Такая интерполяция называется линейной.

Линейная интерполяция.

Интерполяция по формуле при n = 1, т. е. с помощью линейной функции , называется линейной. При работе с кусочно-полиномиальными функциями абсциссы данных называются узлами, сочленениями или точками излома . Между этими названиями есть различия технического характера, но все три термина часто используются как взаимозаменяемые. Линейная кусочно-полиномиальная функция L(x) – это функция, определенная при всех x, обладающая тем свойством, что L(x) является прямой линией между xi и x i +1 . Определение допускает, что в промежутках между разными парами соседних узлов L(x) может совпадать с разными прямыми. Если ввести обозначения , , то формула линейной интерполяции может быть записана в следующем виде: (1)



Величина q называется фазой интерполяции, которая изменяется в пределах от 0 до 1, когда x пробегает значения от x 0 до x 1 .

Геометрически линейная интерполяция означает (рис. 1) замену графика функции на отрезке хордой, соединяющей точки (x 0 , f 0), (x 1 , f 1). Поскольку согласно формуле имеем и, следовательно, , то оценка максимальной погрешности линейной интерполяции на отрезке в соответствии с формулой имеет вид , (2) где .

Часто задают таблицу большого числа значений некоторой функции f с постоянным шагом h изменения аргумента. Тогда при заданном x выбираются два ближайших к нему узла. Левый узел принимается за x 0 , а правый - за x 1 , и осуществляется линейная интерполяция по формуле (1). Погрешность интерпо­ляции оценивается по формуле (2).

ПОСТАНОВКА ЗАДАЧИ

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

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

На практике для перемещения инструмента системе ЧПУ не достаточно только опорных точек, необходимо более детальное ее представление. Для расчета промежуточных точек и выдачи команд движения по линейным осям используется специальное вычислительное устройство - интерполятор .

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

В процессе отработки прямой интерполятор попеременно управляет включением приводов то по оси X , то по оси Y (если прямая лежит в плоскости XY), посылая нужное количество импульсов на привода. На рисунке выше для отработки прямой на ось Y посылается один импульс, а на X - два импульса. Значение d определяет отклонение от заданной геометрии. Т.к. разрешающая способность позволяет задавать один импульс для перемещения на 0.001 мм, то итоговую ломаную кривую можно считать плавной .

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

Программирование линейных перемещений

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

G01 X n.n Yn.n Z n.n Fn.n, где

X, Y, Z – адреса линейных осей;

F – скорость перемещения;

Например, для программирования прямолинейного перемещения из точки A в точку B со скоростью 1000 мм/мин необходимо в УП сформировать следующий кадр.

Это глава из книги Билла Джелена .

Задача: некоторые инженерные проблемы проектирования требуют использования таблиц для вычисления значений параметров. Поскольку таблицы являются дискретными, дизайнер использует линейную интерполяцию для получения промежуточного значения параметра. Таблица (рис. 1) включает высоту над землей (управляющий параметр) и скорость ветра (рассчитываемый параметр). Например, если надо найти скорость ветра, соответствующую высоте 47 метров, то следует применить формулу: 130 + (180 – 130) * 7 / (50 – 40) = 165 м/сек.

Скачать заметку в формате или , примеры в формате

Как быть, если существует два управляющих параметра? Можно ли выполнить вычисления с помощью одной формулы? В таблице (рис. 2) показаны значения давления ветра для различных высот и величин пролета конструкций. Требуется вычислить давление ветра на высоте 25 метров и величине пролета 300 метров.

Решение: проблему решаем путем расширения метода, используемого для случая с одним управляющим параметром. Выполните следующие действия.

Начните с таблицы, изображенной на рис. 2. Добавьте исходные ячейки для высоты и пролета в J1 и J2 соответственно (рис. 3).

Рис. 3. Формулы в ячейках J3:J17 объясняют работу мегаформулы

Для удобства использования формул определите имена (рис. 4).

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

Путем обратной последовательной подстановки соберите мегаформулу. Скопируйте текст формулы из ячейки J17 в J19. Замените в формуле ссылку на J15 на значение в ячейке J15: J7+(J8-J7)*J11/J13. И так далее. Получится формула, состоящая из 984 символов, которую невозможно воспринять в таком виде. Вы можете посмотреть на нее в приложенном Excel-файле. Не уверен, что такого рода мегаформулы полезны в использовании.

Резюме: линейная интерполяция используется для получения промежуточного значения параметра, если табличные значения заданы только для границ диапазонов; предложен метод расчета по двум управляющим параметрам.

Интерполяция. Введение. Общая постановка задачи

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

Таблично заданные в математических моделях функции обычно записываются в таблицы вида:

Y1 (X)

Y(Х0 )

Y(Х1 )

Y(Хn )

Ym (X)

Y(Х0 )

Y(Х1 )

Y(Хn )

Ограниченность информации, представленной такими таблицами, в ряде случаев требует получить значения функций Y j (X) (j=1,2,…,m) в точках Х , не совпадающих с узловыми точками таблицы Х i (i=0,1,2,…,n) . В таких случаях необходимо определить некоторое аналитическое выражение φ j (Х) для вычисления приближенных значений исследуемой функции Y j (X) в произвольно задаваемых точках Х . Функция φ j (Х) используемая для определения приближенных значений функции Y j (X) называется аппроксимирующей функцией (от латинского approximo - приближаюсь). Близость аппроксимирующей функции φ j (Х) к аппроксимируемой функции Y j (X) обеспечивается выбором соответствующего алгоритма аппроксимации.

Все дальнейшие рассмотрения и выводы мы будем делать для таблиц, содержащих исходные данные одной исследуемой функции (т. е. для таблиц с m=1 ).

1. Методы интерполяции

1.1 Постановка задачи интерполяции

Наиболее часто для определения функции φ(Х) используется постановка, называемая постановкой задачи интерполяции.

В этой классической постановке задачи интерполяции требуется определить приближенную аналитическую функцию φ(Х) , значения которой в узловых точках Х i совпадают со значениями Y(Х i ) исходной таблицы, т.е. условий

ϕ (X i ) = Y i (i = 0,1,2,..., n )

Построенная таким образом аппроксимирующая функция φ(Х) позволяет получить достаточно близкое приближение к интерполируемой функции Y(X) в пределах интервала значений аргумента [Х 0 ; Х n ], определяемого таблицей. При задании значений аргумента Х , не принадлежащих этому интервалу, задача интерполяции преобразуется в задачу экстраполяции . В этих случаях точность

значений, получаемых при вычислении значений функции φ(Х), зависит от расстояния значения аргумента Х от Х 0 , если Х < Х 0 , или от Х n , если Х > Х n .

При математическом моделировании интерполирующая функция может быть использована для вычисления приближенных значений исследуемой функции в промежуточных точках подынтервалов [Х i ; Х i+1 ]. Такая процедура называется уплотнением таблицы .

Алгоритм интерполяции определяется способом вычисления значений функции φ(Х). Наиболее простым и очевидным вариантом реализации интерполирующей функции является замена исследуемой функции Y(Х) на интервале [Х i ; Х i+1 ] отрезком прямой, соединяющим точки Y i , Y i+1 . Этот метод называется методом линейной интерполяции.

1.2 Линейная интерполяция

При линейной интерполяции значение функции в точке Х , находящейся между узлами Х i и Х i+1 , определяется по формуле прямой, соединяющей две соседние точки таблицы

Y(X) = Y(Xi )+

Y(Xi + 1 ) − Y(Xi )

(X − Xi ) (i = 0,1,2, ...,n),

X i+ 1 − X i

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

(3) значений аппроксимируемой функции в точках Х , соответствующих серединам подынтервалов (i=0, 1, 2, … , n ).

Рис.1. Уплотненная таблица функции Y(X) и соответствующая ей диаграмма

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

интерполяции, существенно зависит от характера интерполируемой функции и от расстояния между узлами таблицы X i, , X i+1 .

Очевидно, что если функция плавная, то, даже при сравнительно большом расстоянии между узлами, график, построенный путем соединения точек отрезками прямых, позволяет достаточно точно оценить характер функции Y(Х). Если же функция изменяется достаточно быстро, а расстояния между узлами большие, то линейная интерполирующая функция не позволяет получить достаточно точное приближение к реальной функции.

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

1.3 Интерполяция каноническим полиномом

Метод интерполяции функции каноническим полиномом основывается на построении интерполирующей функции как полинома в виде [ 1 ]

ϕ (x) = Pn (x) = c0 + c1 x + c2 x 2 + ... + cn x n

Коэффициенты с i полинома (4) являются свободными параметрами интерполяции, которые определяются из условий Лагранжа:

Pn (xi ) = Yi , (i = 0 , 1 , ... , n)

Используя (4) и (5) запишем систему уравнений

C x + c x 2

C x n = Y

C x + c x 2

C x n

C x 2

C x n = Y

Вектор решения с i (i = 0, 1, 2, …, n ) системы линейных алгебраических уравнений (6) существует и может быть найден, если среди узлов х i нет совпадающих. Определитель системы (6) называется определителем Вандермонда1 и имеет аналитическое выражение [ 2 ].

1 Определителем Вандермонда называется определитель

Он равен нулю тогда и только тогда, когда xi = xj для некоторых . (Материал из Википедии - свободной энциклопедии)

Для определения значений коэффициентов с i (i = 0, 1, 2, … , n)

уравнений (5) можно записать в векторно-матричной форме

A* C = Y ,

где А, матрица коэффициентов, определяемых таблицей степеней вектора аргументов X= (x i 0 , x i , x i 2 , … , x i n ) T (i = 0, 1, 2, … , n)

x0 2

x0 n

xn 2

xn n

С - вектор-столбец коэффициентов с i (i = 0, 1, 2, … , n), а Y - вектор-столбец значений Y i (i = 0, 1, 2, … , n) интерполируемой функции в узлах интерполяции.

Решение этой системы линейных алгебраических уравнений может быть получено одним из методов, описанных в [ 3 ]. Например, по формуле

С = A− 1 Y ,

где А -1 - матрица обратная матрице А . Для получения обратной матрицы А -1 можно воспользоваться функцией МОБР() , входящей в набор стандартных функций программы Microsoft Excel.

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

Запишем матрицу А для таблицы, приведенной на рис.1, без учёта строк уплотняющих таблицу.

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

Используя функцию МОБР() , получим матрицу А -1 обратную матрице А (рис. 3). После чего, по формуле (9) получим вектор коэффициентов С={c 0 , c 1 , c 2 , …, c n } T , приведенный на рис. 4.

Для вычисления значений канонического полинома в ячейку столбца Y канонич , соответствующую значению х 0 , введем преобразованную к следующему виду формулу, соответствующую нулевой строке системы (6)

=((((c 5

* х 0 + c 4 )* х 0 + c 3 )* х 0 + c 2 )* х 0 + c 1 )* х 0 + c 0

C0 +x *(c1 + x *(c2 + x*(c3 + x*(c4 + x* c5 ))))

Вместо записи " c i " в формуле, вводимой в ячейку таблицы Excel, должна стоять абсолютная ссылка на соответствующую ячейку, содержащую этот коэффициент (см. рис. 4). Вместо "х 0 " - относительная ссылка на ячейку столбца Х (см. рис. 5).

Y канонич (0) значения, совпадающего со значением в ячейке Y лин (0) . При протягивании формулы, записанной в ячейку Y канонич (0), должны также совпасть и значения Y канонич (i) , соответствующие узловым точкам исходной

таблицы (см. рис.5).

Рис. 5. Диаграммы, построенные по таблицам линейной и канонической интерполяции

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

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама