Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


 
Учебное пособие для школьников старших классов Mathcad 7

Вернуться на страницу <Методические разработки>
В начало

Занятие 10. Интерполяция функций

Нередко возникает необходимость интерполяции функций заданных таблично. Для простоты рассмотрим таблицу значений функции с постоянным шагом. Пусть функция задана таблицей, где первый столбец, х-координата, а второй, y-координата.

Построим график

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

Допустим, нам необходимо вычислить значение функции в точке x=0.53. Очевидно, необходимо построить уравнение прямой проходящей через две ближайшие точки и вычислить значение функции для данного значения аргумента. Это линейное приближение.

Уравнение прямой проходящей через две точки:

Напишем программу линейной интерполяции.

- количество строк матрицы - 1
- лежит ли х в диапазоне?
- вычисляем индекс точки справа
- угловой коэффициент
- свободный член уравнения
- возвращаемое значение

Теперь можно вычислить значение при х = 0.53:

Задание для самостоятельной работы

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

В Mathcad реализованы стандартные функции для линейной интерполяции linterp() и функция interp() для кубической сплайн-интерполяции.

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

Функция :
- векторы данных упорядоченные по возрастанию;
- аргумент, для которого возвращается вычисленное значение.

Для нашего случая:

     

Построим на графике обе эти зависимости и исходный набор точек:

Примечание: Операция   вырезает столбец двумерной матрицы.

2. Кубическая сплайн-интерполяция

Кубическая сплайн-интерполяция позволяет провести через набор точек гладкую кривую так, чтобы в этих точках были непрерывны первая и вторая производные. Вначале вычисляется вектор вторых производных для чего имеется набор из 3-х функций:

- генерирует кривую, являющуюся кубическим полиномом в граничных точках;
- соответственно, параболу;
- прямую.

Вычислим:

 

 

Построим график для всех 3-х вариантов.

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

Задание для самостоятельной работы

Функция задана таблицей значений:

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

В начало
Вернуться на страницу <Методические разработки>

| На первую страницу | Поиск | Купить Matlab

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


Copyright © 1993-2024. Компания Softline. Все права защищены.

Дата последнего обновления информации на сайте: 04.03.17
Сайт начал работу 01.09.00