Интерполяция массива в excel

Содержание

  • Использование интерполяции
  • Способ 1: интерполяция для табличных данных
  • Способ 2: интерполяция графика с помощью его настроек
  • Способ 3: интерполяция графика с помощью функции
  • Вопросы и ответы

Интерполяция в Microsoft Excel

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

Использование интерполяции

Главное условие, при котором можно применять интерполяцию – это то, что искомое значение должно быть внутри массива данных, а не выходить за его предел. Например, если мы имеем набор аргументов 15, 21 и 29, то при нахождении функции для аргумента 25 мы можем использовать интерполяцию. А для поиска соответствующего значения для аргумента 30 – уже нет. В этом и является главное отличие этой процедуры от экстраполяции.

Способ 1: интерполяция для табличных данных

Прежде всего, рассмотрим применения интерполяции для данных, которые расположены в таблице. Для примера возьмем массив аргументов и соответствующих им значений функции, соотношение которых можно описать линейным уравнением. Эти данные размещены в таблице ниже. Нам нужно найти соответствующую функцию для аргумента 28. Сделать это проще всего с помощью оператора ПРЕДСКАЗ.

В таблице нет значения функции в Microsoft Excel

  1. Выделяем любую пустую ячейку на листе, куда пользователь планирует выводить результат от проведенных действий. Далее следует щелкнуть по кнопке «Вставить функцию», которая размещена слева от строки формул.
  2. Переход в Мастер функций в Microsoft Excel

  3. Активируется окошко Мастера функций. В категории «Математические» или «Полный алфавитный перечень» ищем наименование «ПРЕДСКАЗ». После того, как соответствующее значение найдено, выделяем его и щелкаем по кнопке «OK».
  4. Переход к аргументам функции ПРЕДСКАЗ в Microsoft Excel

  5. Запускается окно аргументов функции ПРЕДСКАЗ. В нем имеется три поля:
    • X;
    • Известные значения y;
    • Известные значения x.

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

    В поле «Известные значения y» нужно указать координаты диапазона таблицы, в котором содержатся значения функции. Это можно сделать вручную, но гораздо проще и удобнее установить курсор в поле и выделить соответствующую область на листе.

    Аналогичным образом устанавливаем в поле «Известные значения x» координаты диапазона с аргументами.

    После того, как все нужные данные введены, жмем на кнопку «OK».

  6. Аргументы функции ПРЕДСКАЗ в Microsoft Excel

  7. Искомое значение функции будет отображено в той ячейке, которую мы выделили ещё в первом шаге данного способа. В результате получилось число 176. Именно оно и будет итогом проведения процедуры интерполяции.

Результат вычисления функции ПРЕДСКАЗ в Microsoft Excel

Урок: Мастер функций в Экселе

Способ 2: интерполяция графика с помощью его настроек

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

  1. Выполняем построение графика обычным методом. То есть, находясь во вкладке «Вставка», выделяем табличный диапазон, на основе которого будет проводиться построение. Щелкаем по значку «График», размещенному в блоке инструментов «Диаграммы». Из появившегося списка графиков выбираем тот, который считаем более уместным в данной ситуации.
  2. Переход к построению графика в Microsoft Excel

    Lumpics.ru

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

    Для начала выделяем сплошную синюю линию, которую нужно удалить и жмем на кнопку Delete на клавиатуре.

  4. Удаление линии в Microsoft Excel

  5. Выделяем всю плоскость, на которой размещен график. В появившемся контекстном меню щелкаем по кнопке «Выбрать данные…».
  6. Переход к выбору данных в Microsoft Excel

  7. Запускается окно выбора источника данных. В правом блоке «Подписи горизонтальной оси» жмем на кнопку «Изменить».
  8. Окно выбора источника данных в Microsoft Excel

  9. Открывается небольшое окошко, где нужно указать координаты диапазона, значения из которого будут отображаться на шкале горизонтальной оси. Устанавливаем курсор в поле «Диапазон подписей осей» и просто выделяем соответствующую область на листе, в которой содержаться аргументы функции. Жмем на кнопку «OK».
  10. Изменение шкалы оси в Microsoft Excel

  11. Теперь нам осталось выполнить основную задачу: с помощью интерполяции устранить разрыв. Вернувшись в окно выбора диапазона данных жмем на кнопку «Скрытые и пустые ячейки», расположенную в нижнем левом углу.
  12. Переход к скрытым и пустым ячейкам в Microsoft Excel

  13. Открывается окно настройки скрытых и пустых ячеек. В параметре «Показывать пустые ячейки» выставляем переключатель в позицию «Линию». Жмем на кнопку «OK».
  14. Настройка скрытых и пустых ячеек в Microsoft Excel

  15. После возвращения в окно выбора источника подтверждаем все сделанные изменения, щелкнув по кнопке «OK».

Подтверждение изменений в Microsoft Excel

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

График скорректирован в Microsoft Excel

Урок: Как построить график в Excel

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

  1. После того, как график построен и отредактирован, так как вам нужно, включая правильную расстановку подписи шкалы, остается только ликвидировать разрыв. Выделяем пустую ячейку в таблице, из которой подтягиваются данные. Жмем на уже знакомый нам значок «Вставить функцию».
  2. Перемещение в Мастер функций в программе Microsoft Excel

  3. Открывается Мастер функций. В категории «Проверка свойств и значений» или «Полный алфавитный перечень» находим и выделяем запись «НД». Жмем на кнопку «OK».
  4. Мастер функций в Microsoft Excel

  5. У данной функции нет аргумента, о чем и сообщает появившееся информационное окошко. Чтобы закрыть его просто жмем на кнопку «OK».
  6. Информационное окно в Microsoft Excel

  7. После этого действия в выбранной ячейке появилось значение ошибки «#Н/Д», но зато, как можно наблюдать, обрыв графика был автоматически устранен.

Результат обработки функцией НД в Microsoft Excel

Можно сделать даже проще, не запуская Мастер функций, а просто с клавиатуры вбить в пустую ячейку значение «#Н/Д» без кавычек. Но это уже зависит от того, как какому пользователю удобнее.

НД вставлена как значение в Microsoft Excel

Как видим, в программе Эксель можно выполнить интерполяцию, как табличных данных, используя функцию ПРЕДСКАЗ, так и графика. В последнем случае это осуществимо с помощью настроек графика или применения функции НД, вызывающей ошибку «#Н/Д». Выбор того, какой именно метод использовать, зависит от постановки задачи, а также от личных предпочтений пользователя.

Еще статьи по данной теме:

Помогла ли Вам статья?

Применение интерполяции в Microsoft Excel

Интерполяция в Microsoft Excel

​Смотрите также​0,275​ которое изначально предполагалось.​ понимаю предмет.​а в A21​: Можно и без​ или вертикальности диапазонов​ #Н/Д!, результат будет​ показателям. Термин интерполяция​80​в «Мастере функций» в​Интерполяция в Excel в​

​в окошке «Мастера функций»​ тех ее аргументов,​

Использование интерполяции

​ значок​ просто пункты по​В первое поле нам​Бывает ситуация, когда в​0,300​Извиняюсь за кривую​Мне необходимо решить​ записать начальное интерполируемое​ VBA через функцию​ RngX и RngY:​ тот же.​ подразумевает «латание» внутренних​390​ окошке «Категории» находят​ таком случае начинается​ заходят в категорию​ которые находятся внутри​«Вставить функцию»​ порядку, а не​ просто нужно вручную​ массиве известных значений​0,325​

Способ 1: интерполяция для табличных данных

​ формулировку вопроса, но​ следующую задачу:​ значение X1, которое​ ПРЕДСКАЗ.​Function Y(RngX As​Alexxmai​ обрывов на графике.​440​ строку «Полный алфавитный​ с построения графика.​ «Математические»;​ интервала [X​.​​ значения аргумента. Попробуем​​ с клавиатуры вбить​ нужно найти промежуточные​0,350​​ я специалист из​​Имеется некоторая зависимость​

В таблице нет значения функции в Microsoft Excel

  1. ​ нас интересует.​(на базе файла​ Range, RngY As​: Доброго времени суток!​ А если бы​490​​ перечень» (в некоторых​​ Для этого:​находят оператор «ПРЕДСКАЗ» и​

    Переход в Мастер функций в Microsoft Excel

  2. ​0​​Открывается​​ исправить все это.​​ значения аргумента, функцию​​ результаты. В математике​​0,375​​ другой области. Надеюсь​​ y = f(x)​​Не обязательно они​ от ZVI)​ Range, X As​Нужно выполнить линейную​​ «латались» внешние обрывы,​​540​

    Переход к аргументам функции ПРЕДСКАЗ в Microsoft Excel

  3. ​ версиях процессора «Проверка​​во вкладке «Вставка» выделяют​​ нажимают на «OK».​, X​
    • ​Мастер функций​​Для начала выделяем сплошную​
    • ​ которого следует отыскать.​​ это называется интерполяцией.​
    • ​0,400​​ на вашу благосклонность​

    ​У Х​ должны совпадать. Но​С.М.​ Double) As Double​ интерполяцию/экстраполяцию данных. Для​ то это была-бы​590​​ свойств и значений»);​​ табличный диапазон;​

    ​В окне аргументов есть​​n​​. В категории​ синюю линию, которую​ В нашем случае​ В Excel данный​0,425​ в решении вопроса.​1 5​ чтобы A21 всегда​: Можно чуть улучшить​Dim i&, xmin#,​

    ​ решения сей задачи,​ уже экстраполяция графика.​​9​​нажимают на запись «НД»​в блоке инструментов «Диаграммы»​

    ​ 3 поля. В​], такого, что известны​«Проверка свойств и значений»​​ нужно удалить и​​ это​

    Аргументы функции ПРЕДСКАЗ в Microsoft Excel

  4. ​ метод можно применять​0,450​С.М.​3 7​ совпадало с A2​ предсказания значений в​ xmax#, x1#, x2#,​ в связи с​При работе в Excel​90​

Результат вычисления функции ПРЕДСКАЗ в Microsoft Excel

​ и жмут на​​ выбирают значок «График»;​

Способ 2: интерполяция графика с помощью его настроек

​ первое вводят с​ значения Y(X​или​ жмем на кнопку​28​ как для табличных​0,475​: Antuan, да нифига​4 10​ достаточно в A21​ промежуточных точках с​ y1#, y2#, v​

  1. ​ отсутствием готовой функции​ приходится сталкиваться с​750​​ кнопку «OK».​​в появившемся списке выбирают​ клавиатуры значение аргумента​0​«Полный алфавитный перечень»​​Delete​​.​ данных, так и​​0,500​​ модель не сбивается​10 1​ поместить формулу =A2.​ помощью нелинейной интерполяции:​i = RngX.Count​

    Переход к построению графика в Microsoft Excel

  2. ​ в Excel, написал​ интерполяцией графиков различной​800​После этого в ячейке​ тот, который лучше​ (в конкретной задаче​) и Y(X​находим и выделяем​на клавиатуре.​В поле​ для построения графиков.​​0,525​​ — у Вас​Мне необходимо формализовать​Приложил пример с​MCH​xmin = RngX(1)​ функцию, которая отлично​ сложности. Но для​850​

    ​ B9 появляется значение​ подходит для решения​ это 28). Для​n​​ запись​​Выделяем всю плоскость, на​

    Удаление линии в Microsoft Excel

  3. ​«Известные значения y»​ Разберем каждый из​0,550​ исходные данные кривые.​ данную зависимость таким​​ отрицательными значениями X​​: Нелинейно интерполировать можно​

    Переход к выбору данных в Microsoft Excel

  4. ​xmax = RngX(i)​ работала пока я​ первого знакомства с​​900​​ ошибки «#Н/Д». Однако​​ конкретной задачи.​​ того чтобы заполнить​

    Окно выбора источника данных в Microsoft Excel

  5. ​).​«НД»​ которой размещен график.​нужно указать координаты​ этих способов.​0,575​Проверил ЮДФ-кой (см.​​ образом, что бы​​ и X1, смотрите​ также с помощью​If X​ в нее передавал​ ней рассмотрим сначала​​950​​ обрыв графика автоматически​

    Изменение шкалы оси в Microsoft Excel

  6. ​Так как в ячейке​ поле «Известные значения​Если X не принадлежит​. Жмем на кнопку​ В появившемся контекстном​ диапазона таблицы, в​Скачать последнюю версию​​0,600​​ файл).​ я мог ввести​

    Переход к скрытым и пустым ячейкам в Microsoft Excel

  7. ​ комментарий в ячейке​ формул, получилось немного​x1 = RngX(2)​​ данные типа double.​​ самый простой пример.​10​​ устраняется.​​ B9 пусто, график​​ _ y», нажимают​​ [X​

    Настройка скрытых и пустых ячеек в Microsoft Excel

  8. ​«OK»​ меню щелкаем по​ котором содержатся значения​ Excel​​Это шаг, к​​—————————​

Подтверждение изменений в Microsoft Excel

​ любое значение Х,​ A21​ не так, как​

График скорректирован в Microsoft Excel

​x2 = xmin​​ Сейчас мне нужно​Если в таблице еще​

Способ 3: интерполяция графика с помощью функции

​Высота​Вы можете поступить даже​ получился разорванный. Кроме​ на иконку с​0​.​

  1. ​ кнопке​ функции. Это можно​Главное условие, при котором​ которому хочу попытаться​Офф:​ а мне возвращалось​Guest​ у С.М., но​y1 = RngY(2)​ использовать ее отдельно​ нет всех значений​278​​ проще: внести с​​ того, на нем​

    Перемещение в Мастер функций в программе Microsoft Excel

  2. ​ красной стрелкой слева​​, X​​У данной функции нет​​«Выбрать данные…»​​ сделать вручную, но​​ можно применять интерполяцию​​ привести все три​имеется столбец данных. большоооой​​ значение Y.​​: вот пример​​ близко​​y2 = RngY(1)​

    Мастер функций в Microsoft Excel

  3. ​ от основного макроса​ показателей, но уже​Требуется вычислить давление ветра​ клавиатуры в ячейку​ присутствует дополнительная линия​ от соответствующего окошка​​n​​ аргумента, о чем​

    Информационное окно в Microsoft Excel

  4. ​.​ гораздо проще и​ – это то,​​ графика.​​ такой столбец из​Я понимаю, что​Максим​С.М.​

Результат обработки функцией НД в Microsoft Excel

​ElseIf X >=​ и нужно передавать​​ нужно сформировать по​​ при величине пролета​ B9 символы «#Н/Д»​ X, в которой​​ и выделяют соответствующую​​], то можно использовать​ и сообщает появившееся​Запускается окно выбора источника​ удобнее установить курсор​

НД вставлена как значение в Microsoft Excel

​ что искомое значение​У меня есть​ 1441 значения. относительная​ это несколько уравнений​​: залогиниться забыл.​​: Подправил ЮДФ:​ xmax Then​ в нее данные​ ним отчет и​ 300 м на​​ (без кавычек).​​ нет необходимости, а​​ область на листе.​​ метод экстраполяции.​ информационное окошко. Чтобы​ данных. В правом​ в поле и​ должно быть внутри​ файл, в котором​

​ влажность и соответствующая​

lumpics.ru

Интерполяция в Excel: особенности, порядок действий и примеры

​ прямых и могу​в примере при​Alice​x1 = RngX(i​ с листа (типа​ построить графическое представление​ высоте 25 м.​Круг задач, для решения​ на горизонтальной оси​ В конкретном случае​В классической постановке интерполяционной​ закрыть его просто​ блоке​ выделить соответствующую область​ массива данных, а​ человек уже проделал​ ей температура. если​ получить коэффициенты каждой​

интерполяция сплайнами в Excel

Метод интерполяции: что это такое?

​ вводе х=0,5 должно​: Спасибо всем большое!​ — 1)​ Variant). Вот здесь​ данных. Тогда на​В таблицу добавляют новые​

​ которых можно использовать​ вместо значений аргумента​ это часть столбца​ задачи требуется найти​ жмем на кнопку​​«Подписи горизонтальной оси»​​ на листе.​​ не выходить за​​ эту работу, но​ кому-то это интересно​​ прямой. Но мне​​ выводиться 4, а​​ Буду разбираться сейчас!:)​​x2 = xmax​

​ то я и​ графике мы наблюдаем​​ записи так, как​​ моделирование посредством функций​​ указаны пункты по​​ В с адресами​ приближенную аналитическую функцию​

​«OK»​жмем на кнопку​Аналогичным образом устанавливаем в​ его предел. Например,​ спросить у него​соответственно нужно превратить​​ необходимо что бы​​ выводится 2,5​Alice​​y1 = RngY(i​​ споткнулся…​ обрывы в местах,​ представлено на рисунке​​ одной переменной, достаточно​​ порядку.​​ из диапазона B2:B7.​​ φ(X), у которой​

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

​.​«Изменить»​ поле​ если мы имеем​

​ не получиться.​ её в абсолютную​ в зависимости от​

​Максим​

​: Доброго утра всем!​

​ — 1)​

​Все подробности в​

​ где отсутствуют значения​

​ (см. ниже).​

​ ограничен. Поэтому имеет​

​Займемся обработкой графика. Для​

​Точно так же заполняют​

​ значения в узловых​

​После этого действия в​

​.​

​«Известные значения x»​

​ набор аргументов 15,​

​Файл «График номограммы».​

​ влажность. есть таблица​

​ значения Х менялось​

​: вот ещё, заодно​

​Еще раз спасибо​

​y2 = RngY(i)​

​ файле.​

​ показателей.​

​Как видно, в нее​

​ смысл рассмотреть, как​

​ этого выделяют сплошную​

​ поле «Известные значения​

​ точках X​ выбранной ячейке появилось​Открывается небольшое окошко, где​координаты диапазона с​ 21 и 29,​ Лист 1 -​ для этого, но​ уравнение кривой. Как​ спрошу.​

  • ​ за помощь. Я​Else​Если кто-нить знает​Заполните таблицу как показано​ добавлены ячейки для​ используется формула двойной​
  • ​ синюю линию и​ _ x» и​i​ значение ошибки​
  • ​ нужно указать координаты​ аргументами.​ то при нахождении​
  • ​ графики отдельно. Лист​ там только целые​

​ это сделать, я​тут один умный​ сделала это по​i = 0​ как оптимизировать код​ на рисунке:​ высоты и пролета​ интерполяции в Excel.​ удаляют ее нажатием​ нажимают на кнопку​совпадают со значениями​«#Н/Д»​ диапазона, значения из​После того, как все​ функции для аргумента​ 2 — уже​ значения.​ не смог разобраться.​

​ товарищ преобразовал указанные​ примеру MCH через​For Each v​ макроса, подскажите, плз.​Выделите диапазон A1:B4 и​

​ в J1 и​ Примеры могут быть​ кнопки Delete, которая​ «Ок».​

интерполяция в Excel

Графический метод: подготовка

​ Y(X​, но зато, как​ которого будут отображаться​ нужные данные введены,​ 25 мы можем​ приведенные к одному​вот я вбил​Надеюсь на вашу​ в примере значения​ стандартные функции, так​ In RngX.Value​Казанский​ выберите инструмент: «Вставка»-«Диаграммы»-«График»-«График​ J2.​ самыми разными. Например:​ находится на клавиатуре.​В результате в выделенной​i​ можно наблюдать, обрыв​

​ на шкале горизонтальной​

​ жмем на кнопку​

​ использовать интерполяцию. А​

​ времени.​

​ в ексель значения​

​ помощь.​

​ Х и Y​

​ как я пыталась​

​i = i + 1​

​: > в связи​

​ с маркерами».​

​Путем обратной последовательной подстановки​

​ имеется таблица (см.​

​Затем:​

​ ячейке C1 отображается​

​) исходной таблицы, т.​

​ графика был автоматически​

​ оси. Устанавливаем курсор​

​«OK»​

​ для поиска соответствующего​

​Пробовал функцию «ПРЕДСКАЗ»​

​ из главной таблицы​

​Будет это сделано​

​ в, цитирую -​

​ сделать на примере​

​If X <​

​ с отсутствием готовой​

​Чтобы устранить обрывы на​

​ «собирают» мегаформулу, необходимую​

​ ниже).​

​выделяют плоскость, на которой​

​ значение 176, являющееся​

​ е. соблюдается условие​

​ устранен.​

​ в поле​

​.​

​ значения для аргумента​

​ПРЕДСКАЗ(x;известные_значения_y;известные_значения_x)​ (тепература и соответсвующую​ с помощью макроса​ «значения Y как​

  • ​ ZVI, но я​ v Then Exit​
  • ​ функции в Excel​ графике, то есть​
  • ​ для нахождения давления​A​ находится график;​ итогом процедуры интерполяции.​

​ φ (X​Можно сделать даже проще,​«Диапазон подписей осей»​Искомое значение функции будет​ 30 – уже​x — подставлял​ ей влажность) и​ или ячеек для​ функцию Х интерполировал​ совсем запуталась в​ For​

интерполяция в Excel пример

Интерполяция в Excel: решение графическим методом

​Функция ЛИНЕЙН.​ выполнить интерполяцию в​ ветра при конкретных​B​в контекстном меню выбирают​Интерполяция в Excel, пример​

​i​

  • ​ не запуская​и просто выделяем​
  • ​ отображено в той​ нет. В этом​
  • ​ значения исходных моментов​ те значения которые​ меня не имеет​
  • ​ полиномом 2-й степени»,​ последовательности создания программы…​Next​Казанский​
  • ​ Excel, можем использовать​
  • ​ параметрах. Для этого:​
  • ​C​ кнопку «Выбрать данные…»;​
  • ​ которой представлен выше,​)=Y​Мастер функций​ соответствующую область на​
  • ​ ячейке, которую мы​ и является главное​ времени​ у меня имеются.​
  • ​ значения.​ получив y =​

​ Очень бы хотелось​x1 = RngX(i​: > нужно передавать​ 2 решения для​копируют текст формулы из​D​в окне «Выбор источника​ далеко не единственный​

как написать формулу двойной интерполяции

Использование специальной функции НД

​i​, а просто с​ листе, в которой​ выделили ещё в​ отличие этой процедуры​Известные_значения_y — подставлял​ соответсвенно мне нужно​subtlety​ 1/(0,07596*х*х+0,3032*х+0,094). Функция работает​ все-таки разобраться.. Правильно​ — 1)​ в нее данные​ данной задачи:​ ячейки с адресом​E​

​ данных» в правом​ способ, позволяющий выяснить​(i = 0,1,2,…,n).​ клавиатуры вбить в​ содержаться аргументы функции.​ первом шаге данного​

  • ​ от экстраполяции.​ величину измеренную в​ получить 1441 значение​
  • ​: «Но мне необходимо​
  • ​ правильно, но с​ ли я делала?​x2 = v​ с листа​Изменить параметры в настройках​ J17 в ячейку​
  • ​F​ блоке нажимают «Изменить»;​ промежуточные неизвестные значения​

​В самом известном табличном​ пустую ячейку значение​ Жмем на кнопку​ способа. В результате​Прежде всего, рассмотрим применения​

​ этот момент времени.​ интерполяцией. =) как?​ что бы в​ очень уж большой​ Сначала я создала​

формула двойной интерполяции в Excel примеры

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

​y1 = RngY(i​См. аттач.​ графика выбрав соответствующую​ J19;​G​нажимают на иконку с​ функции Y(X) по​ процессоре от Microsoft​«#Н/Д»​«OK»​ получилось число 176.​ интерполяции для данных,​

​Известные_значения_x — подставлял​

​ =) может скачать​

​ зависимости от значения​

​ погрешностью. есть ли​

​ макрос с названием​

​ — 1)​

​=20004=​

​ опцию.​

​заменяют в формуле ссылку​

​1​

​ красной стрелкой справа​

​ дискретному набору уже​

​ присутствует крайне полезный​

​без кавычек. Но​

​.​

​ Именно оно и​

​ которые расположены в​

​ моменты времени, в​

​ что нибудь?​

​ Х менялось уравнение​

​ способ с помощью​

​ функции (function). Потом​

​y2 = RngY(i)​

​Alexxmai​

​Использовать функцию: =НД() –​

​ на J15 значением​

​200​

​ от поля «Диапазон​

​ известных. В частности,​

​ оператор «ПРЕДСКАЗ».​

​ это уже зависит​

​Теперь нам осталось выполнить​

​ будет итогом проведения​

​ таблице. Для примера​

​ которые нужно найти​

​спасибо кто откликнется…​

​ кривой»​

​ экселя делать подобные​

​ в VBA editor​

​End If​

​: Спасибо за исправленные​

​ возвращает значение ошибки​

​ в ячейке J15:​

​400​

​ подписей осей»;​

​ может быть применен​

​Рассмотрим данные, размещенные в​

​ от того, как​

​ основную задачу: с​

​ процедуры интерполяции.​

​ возьмем массив аргументов​

​ значения величин (ряд​

​Алекс куха​

​Что за бред?​

​ функции и желательно​

​ прописываю эту функцию​

​Y = y1​

​ ошибки. )​

​ #Н/Д.​

​ J7+(J8-J7)*J11/J13;​

​600​

​выделяют диапазон А2:А11;​

​ графический метод. Он​

​ в таблице, представленной​

​ какому пользователю удобнее.​

​ помощью интерполяции устранить​

​Урок:​

​ и соответствующих им​

​ чисел показан выше)​

​: Линейную интерполяцию можно​

​Уточните у преподавателя​

​ с большей точностью.​

​ в теле функции​

​ + (X -​PS. Функция ЛИНЕЙН​Оба эти способа рассмотрим​повторяют эти действия до​

​800​нажимают на кнопку «OK»;​ может оказаться полезным,​ ниже.​

как сделать интерполяцию в Excel

​Как видим, в программе​ разрыв. Вернувшись в​Мастер функций в Экселе​ значений функции, соотношение​Значения получились направильными,​

​ расчитать через функцию​ еще раз.​ZVI​ sub function end​ x1) * (y2​

  • ​ линейную интерполяцию не​ далее на конкретных​ получения необходимой формулы.​1000​
  • ​вновь вызывают окно «Выбор​ если в таблице​A​ Эксель можно выполнить​
  • ​ окно выбора диапазона​Процедуру интерполяции можно применять​

Использование spline

​ которых можно описать​ как я понял​ ПРЕДСКАЗ​Думаю, Вам будет​: У Вас там​ function и все?​ — y1) /​ дает.​ примерах.​Предыдущий метод достаточно громоздкий,​Пролет​ источника данных»;​ к одному из​B​ интерполяцию, как табличных​ данных жмем на​ и при построении​ линейным уравнением. Эти​ из-за линейной интерполяции.​=ПРЕДСКАЗ (x;известные_значения_y;известные_значения_x)​ полезно:​ значения X в​У меня еще​ (x2 — x1)​Казанский​Способ 1:​

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

​ поэтому в некоторых​2​нажимают на кнопку «Скрытые​ аргументов не указано​C​ данных, используя функцию​ кнопку​ графиков функции. Актуальна​ данные размещены в​Как можно найти​Неизвестно​

​Antuan​

fb.ru

Интерполяция графика и табличных данных в Excel

​ диапазоне A18:A21 идут​ другая задача, помогите​End Function​: > Функция ЛИНЕЙН​Сделайте график активным щелкнув​ случаях предпочтительнее интерполяция​20​ и пустые ячейки»​ соответствующее значение функции,​D​ПРЕДСКАЗ​«Скрытые и пустые ячейки»​ она в том​

Как построить график с интерполяцией в Excel

​ таблице ниже. Нам​ промежуточные значения? Буду​: Если проверять по​: subtlety, спасибо за​ по убыванию.​ пожалуйста написать программу​Sub Test()​

​ линейную интерполяцию не​ по нему левой​ сплайнами. В Excel​10​ в нижнем левом​ как в той,​E​, так и графика.​, расположенную в нижнем​ случае, если в​ нужно найти соответствующую​

​ рад любой помощи.​ калькулятору интерполяций, то​

Пробелы в данных.

​ поправку в формулировке.​Отсортируйте по возрастанию​ по вычислению среднего​

График с маркерами.

​’ Аналогично формуле​ дает​ кнопкой мышки и​ ее суть заключается​20​ углу;​

  1. ​ что представлена ниже​1​ В последнем случае​
  2. ​ левом углу.​ таблице, на основе​ функцию для аргумента​

​Serge_007​ видно что эта​ Значит, мне необходимо​

​ и все будет​

  1. ​ значения. В приложенном​ ячейки: =Y(C8:E8;C12:E12;I8)​Да, она дает​ выберите инструмент: «Работа​ в нахождении интерполирующей​Выбрать данные.
  2. ​160​в строке «Показывать пустые​ (см. ячейку с​x​ это осуществимо с​Скрытые и пустые ячейки.
  3. ​Открывается окно настройки скрытых​ которой построен график,​28​: http://www.excelworld.ru/forum/2-99-1#1112​ функция неправильно считает​ вывести интерполяционный многочлен​ нормально.​

Примеры интерполяции графиков.

​ файле, нужно подсчитать​Debug.Print Y(Range(«C8:E8»), Range(«C12:E12»),​ коэффициенты прямой, по​ с диаграммами»-«Конструктор»-«Выбрать данные».​ функции φ(Х) по​210​ ячейки» переключатель переставляют​ адресом B9).​

​f(x)​

Методы интерполяции табличных данных в Excel

​ помощью настроек графика​ и пустых ячеек.​ к одному из​. Сделать это проще​http://www.excelworld.ru/forum/2-891-1#9793​Andbiz​ Лагранжа средствами эксель.​ZVI​

​ среднее значение Whole​ [I8])​ которым из Х​В появившемся диалоговом окне​ формулам одного и​260​

Примеры интерполяции данных.

​ в позицию «Линия»​A​2​ или применения функции​ В параметре​

exceltable.com

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

​ аргументов не указано​​ всего с помощью​

​Andbiz​: Здравствуйте, уважаемые форумчане.​По поводу преподавателя.​: Название темы -​ porosity, Y, но​End Sub​ можно получить У.​ «Выбор источника данных»​ того же типа​3​ и нажимают «OK»;​B​5​НД​«Показывать пустые ячейки»​ соответствующее значение функции,​ оператора​: Я читал эти​ Столкнулся с проблемой,​

​ Я не студент,​ ЛИНЕЙНАЯ интерполяция.​

​ чтобы просчитывало по​Alice​А вот функция​

​ кликните на кнопку​​ для различных подмножеств​30​подтверждают эти действия тем​

​C​

​38​​, вызывающей ошибку​выставляем переключатель в​ как на изображении​

​ПРЕДСКАЗ​

​ две темы до​

​ с которой не​​ который решает курсовую.​Для нелинейной интерполяции,​

​ значениям столбца Core​: Ребята, у меня​ ПРЕДСКАЗ делает именно​

​ «Скрытые и пустые​​ аргумента. Далее осуществляется​40​ же способом.​
​D​3​«#Н/Д»​ позицию​

​ ниже.​.​ создания своей. Тут​ получается разобраться.​ Я работаю в​

​ само собой, нужна​​ top depth, X​ вот немного другая​ то, что Ваша!​ ячейки»​ стыковка значений φ(Х)​60​

​Если все сделано правильно,​​E​10​. Выбор того, какой​«Линию»​Выполняем построение графика обычным​Выделяем любую пустую ячейку​ тогда вопрос такой​Есть три таблицы​ финансовой организации и​ другая обработка, их​ через определенное количество​

​ задача… Я работаю​ Только порядок аргументов​В появившемся диалоговом окне​ и ее производных​190​ разрыв будет удален,​1​68​ именно метод использовать,​. Жмем на кнопку​

​ методом. То есть,​ на листе, куда​ возникает — а​ и три построенных​

​ решаю задачи, котрые​ существует множество разных.​ строк. То есть​ над некоторыми вычислениями​

​ другой.​ «Настройка скрытых и​ на граничных значениях​

​240​
​ а путем наведения​
​x​

​4​
​ зависит от постановки​
​«OK»​
​ находясь во вкладке​
​ пользователь планирует выводить​

​ как эти значения​ графика — зависимость​

​ сам перед собой​То, что Вы​
​ с 2881 до​
​ в Excel и​Guest​
​ пустых ячеек» выберите​

​ аргументов каждого из​

​290​
​ курсора на нужную​f(x)​
​15​
​ задачи, а также​.​«Вставка»​
​ результат от проведенных​
​ получал человек в​ величины от времени,​
​ ставлю. Не хотелось​
​ написали про полином​ 2881.8, и выводило​
​ мне не хватает​

​: Линейную интерполяцию можно​

​ опцию «линию». И​ подмножеств. В Excel​4​ точку графика можно​2​

​98​

​ от личных предпочтений​
​После возвращения в окно​, выделяем табличный диапазон,​
​ действий. Далее следует​ файле «График номограммы»,​
​ в которое эта​

​ бы, что бы​​ 2-й степени -​ результат с следующем​ данных для точности.​ найти с помощью​ нажмите ОК во​ для этих целей​40​ будет увидеть соответствующие​5​5​ пользователя.​ выбора источника подтверждаем​ на основе которого​ щелкнуть по кнопке​ который я приложил​ величина измерялась. Так​ слово «предмет», сбивало​ не интерполяция, а​ столбце напротив 2881.​ Я построила график​ функции ПРЕДСКАЗ (из​ всех открытых диалоговых​

​ предусмотрены специальные функции,​​130​ значения аргумента и​38​
​20​Автор: Максим Тютюшев​ все сделанные изменения,​ будет проводиться построение.​«Вставить функцию»​ к сообщению. Ведь​ получается, что эти​ вас с толку.​

​ аппроксимация.​​ След. среднее значение​ по тем данным​ этой же серии​
​ окнах.​ а также возможно​

​180​​ функции.​3​128​Табличный процессор Excel позволяет​

​ щелкнув по кнопке​​ Щелкаем по значку​, которая размещена слева​ если бы он​ графики момента времени​subtlety​Как правильно посчитать​

​ с 2882 до​​ которые у меня​

​ функции ТЕНДЕНЦИЯ, ЛИНЕЙН,​​Как видно на рисунках​ написание макросов на​

​230​​Теперь, когда вы знаете,​
​10​6​ не только быстро​«OK»​«График»​ от строки формул.​ так же делал,​ для каждого графика​: «средствами эксель».​ коэффициенты различных видов​ 2882.8, то бишь​ есть. Получилась ломанная​ НАКЛОН)​ сразу отображены 2​ VBA. Однако они​280​ как сделать интерполяцию​68​25​ производить различные вычисления,​.​
​, размещенному в блоке​Активируется окошко​ бы, то у​ разные и нужно​Точно? Есть много​ аппроксимации, смотрите здесь:​ среднее значение на​ линия. Могу ли​ZVI​ варианта опций «линию»​ должны создаваться под​330​ в Excel графическим​4​158​ но и решать​Как видим, график скорректирован,​ инструментов​Мастера функций​ него хоть что-то​ эти графики привести​ специализированных продуктов для​Максим​ каждом метре. Можно​ я получить дополнителные​: Аппроксимация и интерполяция​

​ и «нулевые значения».​​ конкретную задачу, поэтому​5​

​ методом или посредством​15​7​ достаточно сложные задачи.​

​ а разрыв с​«Диаграммы»​. В категории​ бы осталось в​

​ к общим моментам​​ этого.​: всё понял. спасибо​ опять таки сделать​
​ значения из графика​ – не одно​ Обратите внимание, как​
​ их изучение в​50​ оператора «ПРЕДСКАЗ», решение​98​
​30​ Например, с его​ помощью интерполяции удален.​. Из появившегося списка​«Математические»​ ячейках.​

​ времени, а затем​[MAPLE] [MATHCAD] [MATHEMATICA]​ огромное!​ это через стандартные​ на каждом отрезке,​

​ и то же,​​ ведет себя график​

​ общем виде не​​180​

​ многих практических задач​5​188​ помощью можно осуществлять​

​Урок:​​ графиков выбираем тот,​или​

​Andbiz​ величины в эти​ [MATLAB]​Guest​ функции, но мне​ например 7-8 значений,​ они совпадают только,​ при выборе каждой​ имеет смысла.​230​ для вас не​20​В первом столбце находятся​ математическое моделирование на​Как построить график в​ который считаем более​«Полный алфавитный перечень»​

​: Попробовал сделать интерполяцию​​ моменты времени сложить.​»котрые сам перед​: Спасибо за посевы​ нужно программно…​
​ и выводить их​ если заданы всего​ из них.​

​Теперь вы знаете, как​​280​ составит большого труда.​
​128​ аргументы x, а​ основе набора дискретных​ Excel​

​ уместным в данной​ищем наименование​ таким образом. Все​Мой файл -​ собой ставлю»​
​ Доброго и Разумного!​Максим​ в отдельную таблицу?​

​ две точки. Интерполяция​​​ написать формулу двойной​

​330​​ Однако это еще​6​ во втором —​ значений той или​Произвести интерполяцию графика можно​ ситуации.​«ПРЕДСКАЗ»​ хорошо, все считае,​ «Номограммы» Там показаны​

​пока что не​​ Линейная интерполяция очень​

​: Не могли бы​ как можно это​ предполагает обязательное прохождение​Теперь выполним интерполяцию данных​ интерполяции в Excel​380​ не все. Табличный​25​ соответствующие им значения​

​ иной функции, в​ также с помощью​

​Как видим, график построен,​. После того, как​

​ но дальше определенного​
​ t= t’/wП -​
​ очень получается.​
​ пользуемая в работе​
​ вы подкорректировать функцию​

​ осуществить через VBA?​ через все заданные​ в таблице с​ корректно или найти​6​ процессор от Microsoft​158​

​ некоторой линейной функции​ том числе находить​ специальной функции НД.​ но не совсем​ соответствующее значение найдено,​ места появляется ошибка​ момент времени, в​Antuan​ штука и иногда​Function Y(RngX As​ Наверное тоже нужно​
​ точки, а к​ помощью функции: =НД().​
​ неизвестное значение линейной​60​ представляет возможность найти​7​ f(x). Предположим, что​

​ промежуточное значение функций​​ Она возвращает неопределенные​ в таком виде,​ выделяем его и​ «Деление на ноль».​ которое измереятся величина.​
​: subtlety, спасибо огромное!​
​ удобна средствами Excel,​ Range, RngY As​

​ использовать интерполяцию…​ аппроксимации такое требование​

​ Для этого нужно​​ функции посредством встроенных​240​ неизвестное значение функции​30​ нам нужно узнать​

​ методом интерполяции. В​ значения в указанную​ как нам нужно.​ щелкаем по кнопке​ Как от нее​ H= h’/P(0) -​Я тут воспользовался​ а иногда с​ Range, X As​ZVI​ не предъявляется.​

​ предварительно сбросить выше​​ операторов или графика.​
​290​ с помощью функции​188​

​ значение для аргумента​ Excel для этого​

​ ячейку.​ Во-первых, он разорван,​
​«OK»​ избавиться и считать​

​ значение величины.​​ файлом по одной​

​ VBA. Удачи всем​ Double) As Double​: Задача вполне та​В данном случае​ описанные настройки графика,​
​ Надеемся, что эта​340​ НД.​8​
​ x=28. Для этого:​ предусмотрены различные инструменты,​После того, как график​ так как для​.​

​ дальше?​0,000​ из ссылок и​ Вам!​чтобы она корректно​ же, посмотрите приложенный​

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

planetaexcel.ru

Как сделать интерполяцию в эксель?

​ одного аргумента не​Запускается окно аргументов функции​taxi_driver​0,025​ ввел туда необходимые​Antuan​
​ работала со значениями​ файл.​ кусочно-линейной интерполяция и​ работает данный способ.​ в решении множества​440​
​ построен, на нем​218​ на листе табличного​ эта статья.​ так как вам​ нашлась соответствующая функция.​ПРЕДСКАЗ​: вот когда то​0,050​ мне соотношения.​: Добрый день!​ меньше 1 на​

​Первая диаграмма построена​

​ экстраполяция данных. При​​Способ 2. В ячейку​ практических задач.​7​
​ уже установлены корректные​

​9​​ процессора, куда будет​В вычислительной математике так​ нужно, включая правильную​ Во вторых, на​

Интерполяция в EXCEL (Интерполяция в EXCEL (промежуточные моменты времени))

​. В нем имеется​​ расковырял файл примера​0,075​Но модель как​Я внимательно ознакомился​
​ оси Х?​ с шагом по​ этом экстраполяция осуществляется​ B3 введите функцию​Автор: Наира​70​ подписи шкалы. Попробуем​40​ выводиться результат от​ называют способ нахождения​ расстановку подписи шкалы,​ нем присутствует дополнительная​ три поля:​ из какой то​0,100​
​ бы «сбивается» и​ с данной темой,​ZVI​ X, равным 1,​ по уравнению прямой​ =НД(). Это автоматически​Интерполяция – это своего​
​310​
​ ликвидировать разрыв. Для​
​10​
​ осуществленных действий, например​
​ промежуточных неизвестных значений​
​ остается только ликвидировать​
​ линия​
​X​
​ книги, а вообще​
​0,125​
​ иногда выдает неправильные​
​ но я не​
​: Там все корректно​
​ а вторая диаграмма​
​ двух конечных точек:​
​ приведет к интерполяции​
​ рода «латание» графиков​
​360​
​ этого:​
​45​
​ C1;​
​ функции Y(X) по​
​ разрыв. Выделяем пустую​
​X​
​;​
​ то самая неплохая​0,150​ данные.​ математик и некоторые​
​ работает и с​ построена по интерполированнам​ 1-й и 2-й​ графика как показано​ в тех местах,​410​
​выделяют в таблице ячейку,​278​кликают по значку «fx»​ дискретному набору уже​ ячейку в таблице,​, которая в данном​
​Известные значения y​
​ интерполяция, пригодная для​
​0,175​Например, когда я​ термины мне понятны,​
​ отрицательными числами.​ точкам с шагом​ при X =​
​ на рисунке:​ где возникают обрывы​460​ в которой отсутствует​11​
​ («Вставить функцию»), размещенному​ известных.​ из которой подтягиваются​
​ случае не нужна,​;​ 90 процентов случаев​

​0,200​​ ввожу цифру «8»,​
​ но не очевидны.​

​Например, можно задать​​ по X, равным​ Xmax​Примечание. Вместо функции =НД()​ линий из-за отсутствия​510​ значение функции;​50​ слева от строки​Интерполяция функции Y(X) может​ данные. Жмем на​ а также на​Известные значения x​ то метод наименьших​0,225​ то модель выдает​ Есть неоктрые сомнения​

​ в A2 отрицательное​​ 0.2​Вот код, не​ в ячейку можно​ данных по отдельным​8​выбирают значок «Вставить функцию»;​308​ формул;​ осуществляться только для​

​ уже знакомый нам​​ горизонтальной оси указаны​.​ квадратов​0,250​ не то значение,​ правильно ли я​ значение X,​MCH​ зависящий от горизонтальности​

excelworld.ru

​ ввести просто значение:​

Linear interpolation is used for fitting curves using linear polynomials. Linear Interpolation is a method that constructs new data points from a given set of data points. Linear interpolation is useful when looking for a value between two data points. It can be considered as “filling in the gaps” in a table of data. The strategy for linear interpolation is to use a straight line to connect the known data points on either side of the unknown point. It finds the unknown values in the table. The formula of linear interpolation is given by,

Linear Interpolation Formula

y = y_1 + (x-x_1)frac{y_2-y_1}{x_2-x_1}

Where,

  • x1 and y1  are the first coordinates, and
  • x2 and y2 are the second coordinates
  • x is the point to perform the interpolation
  • y is the interpolated value

Linear Interpolation in Excel

We’ll be looking at two ways to calculate the Linear Interpolation in Excel.

Case 1: When we have 2 pairs of values for the x and y coordinates. For Example:

linear-interpolation-example

We want to check the value of 2.3 and hence we have to use interpolation. We are using linear interpolation because the values of x and y are changing linearly. We’ll be using the FORECAST formula,

=FORECAST(x, known_y’s, known_x’s)

Note: In Excel 2016, the FORECAST function was replaced with FORECAST.LINEAR. The syntax and usage of the two functions are the same.

Step 1: Add the FORECAST.LINEAR formula to the cell where you want to add the interpolated value.

forecast-linear-function

Step 2: Fill the formula with the desired values. First, the value of x will go, then add the y-axis values and finally add x-axis values in the formula and click Enter. You’ll get the desired result.

forecast-output

Here the interpolated value of 2.3 is 5.6

Case 2: When we have more than 2 pairs of values for the x and y coordinates.

For Example, We have the data of rainfall (in cm) received in some parts of India for consecutive 7 days. We want to predict rainfall at 1.5 days.

data-for-rainfall

First, we need to check x1, x2, y1, and y2. To perform this we will be using VLOOKUP, INDEX, and MATCH

VLOOKUP: It is used when you need to find things in a table or a range by row.

Syntax:

=VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])

range_lookup: It is an optional parameter. We can enter 1/True, which looks for an approximate match while 0/False, which looks for an exact match.

INDEX: It is used when you need a value or reference to a value from within a table or range.

Syntax:

= INDEX(array, row_num, [column_num])

Where array and row_num are required values and column_num is optional.

MATCH: This function searches for a specified item in a range of cells, and then returns the relative position of that item in the range.

Syntax:

= MATCH(lookup_value, lookup_array, [match_type])

Where lookup_value and lookup_array are required values and match_type is optional.

We will be calculating all the other values using the formulas above.

Step 1: Calculating x1 using VLOOKUP. Enter the formula and values as shown below.

vlookup-example

Step 2: Press Enter and you’ll get the desired value (as shown below).

vlookup-result

Step 3: Calculating y1 using VLOOKUP. Enter the formula and values as shown below. The only change we need to do here is the change in col_index_num to 2 because we want the values from column C.

vlookup-example

Step 4: Press Enter and you’ll get the desired value (as shown below).

vlookup-result

To calculate the values of x2 and y2, we’ll be using INDEX and MATCH functions.

Step 5: Calculate x2 using INDEX and MATCH functions. Enter the formula and values as shown below.

index-match-formula

Step 6: Press Enter and you’ll get the desired value (as shown below).

index-match-result

Step 7: Calculate y2 using INDEX and MATCH functions. Enter the formula =INDEX($C$2:$C$8, MATCH(F6,$C$2:$C$8)+1) and values as shown below. The only change here is of Column C and the value of y1.

index-match-formula

Step 8: Press Enter and you’ll get the desired value (as shown below).

index-match-result

Now, we’ll be using the above-mentioned formula to calculate the y value.

Step 9: Put all the calculated values in the formula in the desired cell. (as shown below)

calculate-interpolated-value

Step 10: Press Enter and you’ll get the desired results.

linear-interpolation-result

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


Интерполяция — это процесс оценки неизвестного значения функции между двумя известными значениями.

Имея два известных значения (x 1 , y 1 ) и (x 2 , y 2 ), мы можем оценить значение y для некоторой точки x, используя следующую формулу:

у = у 1 + (хх 1 )(у 2 -у 1 )/(х 2 -х 1 )

В этом руководстве объясняется, как использовать линейную интерполяцию для поиска неизвестного значения y на основе значения x в Excel.

Пример: линейная интерполяция в Excel

Предположим, у нас есть следующий набор данных в Excel:

Если мы создадим быстрый график данных, вот как это будет выглядеть:

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

Теперь предположим, что мы хотим найти значение y, связанное с новым значением x, равным 13.Мы видим, что мы измерили значения y для значений x 12 и 14, но не для значения x 13.

Мы можем использовать следующую формулу для выполнения линейной интерполяции в Excel, чтобы найти расчетное значение y:

= FORECAST (NewX, OFFSET (KnownY, MATCH (NewX,KnownX,1)-1,0,2), OFFSET (KnownX, MATCH (NewX,KnownX,1)-1,0,2))

Вот как использовать эту функцию для оценки значений y, связанных со значением x, равным 13:

Пример линейной интерполяции в Excel

Расчетное значение y оказывается равным 33,5 .

Если мы добавим точку (13, 33,5) к нашему графику, она, похоже, будет хорошо соответствовать функции:

Пример линейной интерполяции

Мы можем использовать эту формулу для оценки значения y любого значения x, просто заменив NewX в формуле любым новым значением x.

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

Вы можете найти больше учебников по Excel здесь .

Линейная интерполяция в Excel означает прогнозирование или угадывание следующего значения любой определенной переменной, заданной на основе текущих данных. Здесь мы создаем прямую линию, которая соединяет два значения и оценивает будущую стоимость. В Excel мы используем функцию ПРОГНОЗ и функцию ПРОСМОТРА для выполнения линейной интерполяции.

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

Оглавление

  • Линейная интерполяция Excel
    • Как сделать линейную интерполяцию в Excel?
      • Пример №1
      • Пример #2
    • То, что нужно запомнить
    • Рекомендуемые статьи

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

Как сделать линейную интерполяцию в Excel?

.free_excel_div{фон:#d9d9d9;размер шрифта:16px;радиус границы:7px;позиция:относительная;margin:30px;padding:25px 25px 25px 45px}.free_excel_div:before{content:»»;фон:url(центр центр без повтора #207245;ширина:70px;высота:70px;позиция:абсолютная;верх:50%;margin-top:-35px;слева:-35px;граница:5px сплошная #fff;граница-радиус:50%} Вы можете скачать этот шаблон линейной интерполяции Excel здесь — Шаблон линейной интерполяции Excel

Пример №1

Выполнение интерполяции, чтобы узнать температуру погоды в разных часовых поясах

Во-первых, запишите показатели температуры в регионе Бангалор за каждый час, и данные будут следующими:

линейная интерполяция Пример 1

Данные показывают, что у нас есть данные о температуре в регионе Бангалор на определенную дату. У нас есть часовые пояса на весь день в колонке времени. В столбце часа мы указываем часы с начала дня, например, 00:00 — это 0 часов, 1:00 — 1 час и так далее.

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

Мы должны использовать несколько формул в Excel, таких как ПРОГНОЗExcel Как ПРОГНОЗФункция ПРОГНОЗ в Excel используется для расчета или прогнозирования будущего значения на основе существующих значений и статистического значения прогноза. Если мы знаем прошлые данные, мы можем использовать функцию для прогнозирования будущего значения. Подробнее, OFFSET и MATCH. Давайте кратко рассмотрим эти формулы, прежде чем двигаться дальше.

ПРОГНОЗ() — Эта функция Excel для прогнозированияФункция Forecast ExcelФункция FORECAST в Excel используется для расчета или прогнозирования будущего значения на основе существующих значений и статистического значения прогноза. Если мы знаем прошлые данные, мы можем использовать функцию для прогнозирования будущего значения. Читать далее вычисляет или прогнозирует будущее значение на основе существующих значений и линейного тренда.

Формула прогноза

  • Икс – Это значение, для которого мы хотим спрогнозировать.
  • Известные_ys – Это зависимое значение от данных и обязательное поле для заполнения.
  • Известные_xs – Это независимое значение от данных и обязательное поле для обслуживания.

СООТВЕТСТВОВАТЬ() — Эта функция Match excel Функция Match Excel Функция ПОИСКПОЗ ищет определенное значение и возвращает его относительное положение в заданном диапазоне ячеек. Результатом является первая позиция, найденная для данного значения. Будучи поисковой и справочной функцией, она работает как для точного, так и для приблизительного совпадения. Например, если диапазон A11:A15 состоит из чисел 2, 9, 8, 14, 32, формула «ПОИСКПОЗ(8,A11:A15,0)» возвращает 3. Это связано с тем, что число 8 находится на третьем месте. позиция. read more вернет относительную позицию искомого значения в строке, столбце или таблице, которая соответствует указанному значению в указанном порядке.

Формула соответствия

  • Искомое_значение – Это значение, которое необходимо сопоставить с lookup_array.
  • Lookup_array – это диапазон для поиска

[match_type] – Это может быть 1,0,-1. Значение по умолчанию — 1. Для функции 1 — ПОИСКПОЗ вы найдете наибольшее значение, меньшее или равное значению look_up. Значение должно быть в порядке возрастания. Для 0 — функция ПОИСКПОЗ находит первое значение, точно равное искомому_значению, и его не нужно сортировать. Для -1 — Match найдет наименьшее значение, большее или равноеGreater Than Or Equal«Больше или равно» — это сравнение или логический оператор, который помогает сравнить две ячейки данных одного и того же типа данных. быть отсортированы в порядке убывания.

КОМПЕНСИРОВАТЬ() — Эта функция смещенияФункция смещенияФункция смещения в Excel возвращает значение ячейки или диапазона (соседних ячеек), которое представляет собой определенное количество строк и столбцов от контрольной точки. read more вернет ячейку или диапазон ячеек, которые содержат указанное количество строк и столбцов. Ячейка или диапазон ячеек будет зависеть от высоты и ширины строк и столбцов, которые мы указываем.

СМЕЩЕНИЕ Формула

  • Ссылка – Это начальная точка, откуда будут подсчитываться строки и столбцы. Строки и столбцы. Ячейка – это пересечение строк и столбцов. Строки и столбцы составляют программное обеспечение, которое называется Excel. Область рабочего листа Excel разделена на строки и столбцы, и в любой момент времени, если мы хотим сослаться на определенное место этой области, нам нужно сослаться на ячейку. Будет сделано больше.
  • Ряды – Количество строк для смещения ниже начальной опорной ячейки.
  • Столбцы – Количество столбцов для смещения справа от начальной опорной ячейки.
  • [height] – Высота в строках из возвращенной ссылки. Это необязательно.
  • [width] – Ширина в столбцах из возвращенной ссылки. Это необязательно.

Мы вкратце рассмотрели формулы, которые будем использовать для выполнения интерполяции. Теперь давайте выполним интерполяцию следующим образом:

Введите в ячейку формулу, которая нам нужна, чтобы увидеть температуру для разных часовых поясов. Это говорит о том, что мы должны выбрать ячейку, которую необходимо спрогнозировать, и функция OFFSET и MATCH используется для определения known_ys и known_xs.

линейная интерполяция Пример 1-1

ПРОГНОЗ($F$5 – Выберите ячейку с часовым поясом для прогноза.

СМЕЩ($C$3:$C$26,ПОИСКПОЗ($F$5,$B$3:$B$26,1)-1,0,2) – Это используется для выбора known_ys в качестве ссылки на временный столбец, поскольку это зависимые значения. Функция match используется для генерации позиции значения, которое нам нужно для прогноза и расчета количества строк. Столбцы должны быть равны 0, потому что мы хотим, чтобы зависимое значение в том же выбранном столбце и высота были равны 2, поскольку нам нужно выполнить прогноз на основе двух последних значений.

СМЕЩ($B$3:$B$26, ПОИСКПОЗ($F$5,$B$3:$B$26,1)-1,0,2) – Это используется для выбора known_xs в качестве эталонного столбца часов, потому что это независимые значения, а остальные такие же, как мы сделали для подсчета строк.

Теперь укажите часовой пояс в ячейке, который мы рассматривали для прогнозирования. Здесь введено значение 19,5, что соответствует 19:30, и мы получим температуру 30, которая прогнозируется на основе значений температуры, предоставляемых на почасовой основе.

линейная интерполяция Пример 1-2

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

Пример #2

Выполнение линейной интерполяции, чтобы узнать продажи организации в 2018 году

Предположим, что мы получили данные о продажах организации в 2018 году, как показано ниже. У нас есть данные в пересчете на дни и их продажи нарастающим итогом. За первые 25 дней года мы получили 7 844 единицы, за 50 дней года — 16 094 единицы и т. д.

линейная интерполяция Пример 2

Мы можем использовать ту же формулу, что и при интерполяции, для прогнозирования стоимости продаж в разные дни, которые мы не упомянули в рассмотренных нами данных. Здесь продажи идут по прямой линии (линейно), как мы взяли кумулятивно.

линейная интерполяция Пример 2-1

Если мы хотим увидеть количество продаж, достигнутое за 215 дней, мы можем получить прогнозируемое количество продаж за 215 дней, как показано ниже, с учетом данных о продажах.

линейная интерполяция Пример 2-2

Точно так же мы можем определить количество продаж в этом году, прогнозируя между заданными точками.

То, что нужно запомнить

  • Это наименее точный метод, но он быстрый и точный, если табличные значения расположены близко друг к другу.
  • Его также можно использовать для оценки значений географических точек данных, осадков, уровней шума и т. д.
  • Он очень прост в использовании и не очень точен для нелинейных функций.
  • Помимо линейной интерполяции Excel, у нас также есть различные методы, такие как полиномиальная интерполяция, сплайн-интерполяция и т. д.

Рекомендуемые статьи

Эта статья представляет собой руководство по линейной интерполяции в Excel. Здесь мы увидим, как выполнять интерполяцию и линейную интерполяцию в Excel, несколько примеров и загружаемый шаблон Excel. Вы можете узнать больше об Excel из следующих статей: –

  • Формула относительного изменения
  • Полный список функций Excel
  • Формула прогноза в Excel
  • Формула стандартного нормального распределения

Содержание

  1. Применение интерполяции в Microsoft Excel
  2. Использование интерполяции
  3. Способ 1: интерполяция для табличных данных
  4. Способ 2: интерполяция графика с помощью его настроек
  5. Способ 3: интерполяция графика с помощью функции
  6. Linear Interpolation in Excel
  7. Linear Interpolation in Excel
  8. Interpolate in Excel with XLOOKUP
  9. Use XLOOKUP to Find Values to Interpolate in Excel
  10. Use FORECAST for Excel Interpolation
  11. Prevent Excel Interpolation Errors
  12. Use the INDEX/MATCH Functions for Interpolation in Excel
  13. How to Interpolate in Excel with the Interpolation Formula
  14. How do you interpolate a graph in Excel?
  15. Wrap-Up

Применение интерполяции в Microsoft Excel

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

Использование интерполяции

Главное условие, при котором можно применять интерполяцию – это то, что искомое значение должно быть внутри массива данных, а не выходить за его предел. Например, если мы имеем набор аргументов 15, 21 и 29, то при нахождении функции для аргумента 25 мы можем использовать интерполяцию. А для поиска соответствующего значения для аргумента 30 – уже нет. В этом и является главное отличие этой процедуры от экстраполяции.

Способ 1: интерполяция для табличных данных

Прежде всего, рассмотрим применения интерполяции для данных, которые расположены в таблице. Для примера возьмем массив аргументов и соответствующих им значений функции, соотношение которых можно описать линейным уравнением. Эти данные размещены в таблице ниже. Нам нужно найти соответствующую функцию для аргумента 28. Сделать это проще всего с помощью оператора ПРЕДСКАЗ.

  1. Выделяем любую пустую ячейку на листе, куда пользователь планирует выводить результат от проведенных действий. Далее следует щелкнуть по кнопке «Вставить функцию», которая размещена слева от строки формул.
  2. Активируется окошко Мастера функций. В категории «Математические» или «Полный алфавитный перечень» ищем наименование «ПРЕДСКАЗ». После того, как соответствующее значение найдено, выделяем его и щелкаем по кнопке «OK».

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

В поле «Известные значения y» нужно указать координаты диапазона таблицы, в котором содержатся значения функции. Это можно сделать вручную, но гораздо проще и удобнее установить курсор в поле и выделить соответствующую область на листе.

Аналогичным образом устанавливаем в поле «Известные значения x» координаты диапазона с аргументами.

После того, как все нужные данные введены, жмем на кнопку «OK».

Способ 2: интерполяция графика с помощью его настроек

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

    Выполняем построение графика обычным методом. То есть, находясь во вкладке «Вставка», выделяем табличный диапазон, на основе которого будет проводиться построение. Щелкаем по значку «График», размещенному в блоке инструментов «Диаграммы». Из появившегося списка графиков выбираем тот, который считаем более уместным в данной ситуации.

Для начала выделяем сплошную синюю линию, которую нужно удалить и жмем на кнопку Delete на клавиатуре.

  • Выделяем всю плоскость, на которой размещен график. В появившемся контекстном меню щелкаем по кнопке «Выбрать данные…».
  • Запускается окно выбора источника данных. В правом блоке «Подписи горизонтальной оси» жмем на кнопку «Изменить».
  • Открывается небольшое окошко, где нужно указать координаты диапазона, значения из которого будут отображаться на шкале горизонтальной оси. Устанавливаем курсор в поле «Диапазон подписей осей» и просто выделяем соответствующую область на листе, в которой содержаться аргументы функции. Жмем на кнопку «OK».
  • Теперь нам осталось выполнить основную задачу: с помощью интерполяции устранить разрыв. Вернувшись в окно выбора диапазона данных жмем на кнопку «Скрытые и пустые ячейки», расположенную в нижнем левом углу.
  • Открывается окно настройки скрытых и пустых ячеек. В параметре «Показывать пустые ячейки» выставляем переключатель в позицию «Линию». Жмем на кнопку «OK».
  • После возвращения в окно выбора источника подтверждаем все сделанные изменения, щелкнув по кнопке «OK».
  • Как видим, график скорректирован, а разрыв с помощью интерполяции удален.

    Способ 3: интерполяция графика с помощью функции

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

    1. После того, как график построен и отредактирован, так как вам нужно, включая правильную расстановку подписи шкалы, остается только ликвидировать разрыв. Выделяем пустую ячейку в таблице, из которой подтягиваются данные. Жмем на уже знакомый нам значок «Вставить функцию».
    2. Открывается Мастер функций. В категории «Проверка свойств и значений» или «Полный алфавитный перечень» находим и выделяем запись «НД». Жмем на кнопку «OK».
    3. У данной функции нет аргумента, о чем и сообщает появившееся информационное окошко. Чтобы закрыть его просто жмем на кнопку «OK».
    4. После этого действия в выбранной ячейке появилось значение ошибки «#Н/Д», но зато, как можно наблюдать, обрыв графика был автоматически устранен.

    Можно сделать даже проще, не запуская Мастер функций, а просто с клавиатуры вбить в пустую ячейку значение «#Н/Д» без кавычек. Но это уже зависит от того, как какому пользователю удобнее.

    Как видим, в программе Эксель можно выполнить интерполяцию, как табличных данных, используя функцию ПРЕДСКАЗ, так и графика. В последнем случае это осуществимо с помощью настроек графика или применения функции НД, вызывающей ошибку «#Н/Д». Выбор того, какой именно метод использовать, зависит от постановки задачи, а также от личных предпочтений пользователя.

    Источник

    Linear Interpolation in Excel

    To perform linear interpolation in Excel, use the FORECAST function to interpolate between two pairs of x- and y-values directly.

    In the example below, the formula to interpolate and find the y-value that corresponds to an x-value of 1.4 is:

    =FORECAST(F2,C3:C4,B3:B4)

    This simple method works when there are only two pairs of x- and y-values. If there are more than 2 pairs, the calculation is more complex.

    Linear Interpolation in Excel

    There isn’t a linear interpolation function in Excel , but the FORECAST function can be used for linear interpolation when there are just two pairs of x- and y-values.

    It has the following syntax:

    =FORECAST(x,known_ys,known_xs)

    • x is the input value
    • known_ys are the known y-values
    • known_xs are the known x-values

    The FORECAST function works by using linear regression to estimate the value of y that corresponds to the input value x. When there are only two data points, the result of linear regression is the same as linear interpolation.

    However, when the number of x-values and y-values is greater than 2, the result of the FORECAST function will NOT be an interpolated y-value.

    To interpolate between x- and y-values in a large data set (more than 2 pairs of values), use either XLOOKUP or INDEX and MATCH to extract a pair of x- and y-values to interpolate between.

    Linear interpolation assumes that the change in y for a given change in x is linear. In most cases linear interpolation in Excel will provide results that are sufficiently accurate. However, if you need even greater accuracy, you may want to consider a more advanced method such as cubic splines.

    Are you struggling to the find the right solutions to your engineering problems in Excel?

    In Engineering with Excel, you’ll learn Excel for advanced engineering calculations through a step-by-step system that helps engineers solve difficult problems quickly and accurately.

    Interpolate in Excel with XLOOKUP

    If you are a Microsoft 365 subscriber, or are using Excel 2021, Excel for the web, or Excel for iOS or Android devices, you can use the XLOOKUP function to extract the values. If you are on an older version of Excel, use the INDEX/MATCH method described below.

    In some other posts on looking up tabular data in Excel, I’ve focused on how to extract known x- and y-values from a table. But what if you need to interpolate missing data in Excel for better accuracy? Well, it’s also possible to perform linear interpolation in Excel, which enables you to estimate a y-value for any x-value that is not provided explicitly in the data.

    Let’s look at how to interpolate in Excel on some real data.

    The table below lists air density as a function of temperature in 20-degree Celsius increments. To get data at any temperature between 0 and 100 C, we’ll have to interpolate.

    To estimate the density at 53 degrees Celsius, use XLOOKUP to find the values x1=40, y1=1.127, x2=60, and y2=1.067 in the table, then feed those values into the FORECAST function to perform the interpolation.

    Use XLOOKUP to Find Values to Interpolate in Excel

    XLOOKUP has the following syntax:

    =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

    • lookup_value is the value to find
    • lookup_array is the array where the lookup_value is searched for
    • return_array is the array from which a result is returned
    • if_not_found is the value to return if nothing is found (optional)
    • match_mode tells the function what to do if an exact match is not found (optional)
    • search_mode tells the function how to search the array (optional)

    To interpolate in Excel, use the XLOOKUP function to find the x-values on either side of the input value of x as well as the corresponding y-values.

    To find the first x-value from the table of data, use the following formula:

    =XLOOKUP(F3,B5:B10,B5:B10,,-1,1)

    F3 is the lookup_value, and the array B5:B10 is both the lookup_array and the return_array. Setting the match_mode to -1 tells the function to return the next smaller item in the return array and setting the search_mode to 1 starts the search from the top of the array.

    The resulting value of x1 is 40, which is the greatest temperature that is less than 53, the x-value.

    A very similar formula is used to find the value of x2:

    =XLOOKUP(F3,B5:B10,B5:B10,,1,1)

    The only difference is that match_mode is set to 1 (rather than -1), because x2 is the next largest value in the return array.

    The resulting value of x2 is 60, the lowest temperature greater than 53 in the lookup array.

    Next, find the corresponding y-values y1 and y2 using XLOOKUP. For y1, F3 is the lookup_value and B5:B10 is the lookup_array, just as before. To return a y-value that corresponds to an x-value less than the lookup_value, C5:C10 is the return_array and the match_mode is -1.

    =XLOOKUP(F3,B5:B10,C5:C10,,-1,1)

    y1 is equal to 1.127.

    The last value to lookup is y2. The formula is just slightly different from the formula for y1. match_mode is set to 1 to return the next largest value of y:

    =XLOOKUP(F3,B5:B10,C5:C10,,1,1)

    Use FORECAST for Excel Interpolation

    Once 2 pairs of x- and y-values are known, FORECAST can be used to interpolate between them to estimate the y-value for a given x-value with the following formula:

    =FORECAST(F3,F6:F7,F4:F5)

    The estimate for y is 1.088.

    Prevent Excel Interpolation Errors

    An error can occur when the value of x is equal to one of the x-values in the lookup array. This causes x1 to be equal to x2 and y1 to be equal to y2. When this happens, FORECAST cannot calculate a slope and returns an error.

    The error can be prevented by wrapping the FORECAST function in an IF function that checks if the values of x and x1 are equal.

    If x and x1 are equal, y is equal to y1.

    =IF(F3=F4,F6,FORECAST(F3,F6:F7,F4:F5))

    This formula correctly returns a result of 1.127 when x is equal to 40.

    Use the INDEX/MATCH Functions for Interpolation in Excel

    If you are not a Microsoft 365 subscriber or are using an older version of Excel, the XLOOKUP function is not included.

    No worries though!

    You can use the INDEX and MATCH functions to get the same results. The syntax for these functions is explained here, so if you need a refresher be sure to check that out.

    MATCH returns the location of a value (n) in a column or row of data.

    INDEX returns the actual value in the n th position of a row or column of data.

    By using these functions together, we can extract the values of x1, y1, x2, and y2 we need for the interpolation.

    Find the value of x1 with this formula:

    =INDEX(B5:B10,MATCH(F3,B5:B10,1))

    The formula returns 40 because the match_type argument in the MATCH function is set to 1. This tells the MATCH function to return a position from the temperature array that is less than the lookup_value when an exact match is not found.

    Find the value of x2 with this formula:

    =INDEX(B5:B10,MATCH(F3,B5:B10,1)+1)

    The formula for x2 returns 60 because the result returned by the MATCH function is increased by 1 to tell Excel to lookup the next row in the array.

    For y1 and y2 the formulas are very similar. The only difference is that the array argument for the INDEX function is column C.

    For y1, the formula is:

    =INDEX(C5:C10,MATCH(F3,B5:B10,1))

    For y2, the formula is:

    =INDEX(C5:C10,MATCH(F3,B5:B10,1)+1)

    Finally, use the FORECAST function as described above to return the estimated value of y:

    =FORECAST(F3,F6:F7,F4:F5)

    How to Interpolate in Excel with the Interpolation Formula

    It’s also possible perform linear interpolation in Excel without using the FORECAST function. Instead, use the interpolation formula below, where y is the value to return, and x is the independent variable:

    This formula can be used in Excel to linearly interpolate the value of y:

    =F6+(F3-F4)*(F7-F6)/(F5-F4)

    [Hint] Use Named Cells to make the formula much easier to understand:

    How do you interpolate a graph in Excel?

    The interpolation results can be shown on a graph by creating an Excel chart with two data series. The first series consists of the arrays of x- and y-values. The second series contains the x value to look up and the resulting estimate of y.

    The great thing about setting the formulas up as demonstrated above is that you can interpolate correctly between ANY pair of known x- and y- values.

    Wrap-Up

    So there you are – several alternate methods to perform linear interpolation in Excel. Hopefully you can use one of these methods to save time when you need to interpolate data from a large data set.

    Are you struggling to the find the right solutions to your engineering problems in Excel?

    In Engineering with Excel, you’ll learn Excel for advanced engineering calculations through a step-by-step system that helps engineers solve difficult problems quickly and accurately.

    Источник

    Интерполяция данных: соединяем точки так, чтобы было красиво

    Время на прочтение
    7 мин

    Количество просмотров 149K

    Как построить график по n точкам? Самое простое — отметить их маркерами на координатной сетке. Однако для наглядности их хочется соединить, чтобы получить легко читаемую линию. Соединять точки проще всего отрезками прямых. Но график-ломаная читается довольно тяжело: взгляд цепляется за углы, а не скользит вдоль линии. Да и выглядят изломы не очень красиво. Получается, что кроме ломаных нужно уметь строить и кривые. Однако тут нужно быть осторожным, чтобы не получилось вот такого:

    Немного матчасти

    Восстановление промежуточных значений функции, которая в данном случае задана таблично в виде точек P1&nbsp…&nbspPn, называется интерполяцией. Есть множество способов интерполяции, но все они могут быть сведены к тому, что надо найти n&nbsp–&nbsp1 функцию для расчёта промежуточных точек на соответствующих сегментах. При этом заданные точки обязательно должны быть вычислимы через соответствующие функции. На основе этого и может быть построен график:

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

    В разных инструментах для построения графиков — редакторах и библиотеках — задача «красивой интерполяции» решена по-разному. В конце статьи будет небольшой обзор существующих вариантов. Почему в конце? Чтобы после ряда приведённых выкладок и размышлений можно было поугадывать, кто из «серьёзных ребят» какие методы использует.

    Ставим опыты

    Самый простой пример — линейная интерполяция, в которой используются полиномы первой степени, а в итоге получается ломаная, соединяющая заданные точки.
    Давайте добавим немного конкретики. Вот набор точек (взяты почти с потолка):

    0 0
    20 0
    45 -47
    53 335
    57 26
    62 387
    74 104
    89 0
    95 100
    100 0
    

    Результат линейной интерполяции этих точек выглядит так:

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

    Что есть гладкость? Бытовой ответ: отсутствие острых углов. Математический: непрерывность производных. При этом в математике гладкость имеет порядок, равный номеру последней непрерывной производной, и область, на которой эта непрерывность сохраняется. То есть, если функция имеет гладкость порядка 1 на отрезке [a;&nbspb], это означает, что на [a;&nbspb] она имеет непрерывную первую производную, а вот вторая производная уже терпит разрыв в каких-то точках.
    У сплайна в контексте гладкости есть понятие дефекта. Дефект сплайна — это разность между его степенью и его гладкостью. Степень сплайна — это максимальная степень использованных в нём полиномов.
    Важно отметить, что «опасными» точками у сплайна (в которых может нарушиться гладкость) являются как раз Pi, то есть точки сочленения сегментов, в которых происходит переход от одного полинома к другому. Все остальные точки «безопасны», ведь у полинома на области его определения нет проблем с непрерывностью производных.
    Чтобы добиться гладкой интерполяции, нужно повысить степень полиномов и подобрать их коэффициенты так, чтобы в граничных точках сохранялась непрерывность производных.

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

    Кривая, действительно, гладкая. Но если предположить, что это график некоторого процесса или явления, который нужно показать заинтересованному лицу, то такой метод, скорее всего, не подходит. Проблема в ложных экстремумах. Появились они из-за слишком сильного искривления, которое было призвано обеспечить гладкость интерполяционной функции. Но зрителю такое поведение совсем не кстати, ведь он оказывается обманут относительно пиковых значений функции. А ради наглядной визуализации этих значений, собственно, всё и затевалось.
    Так что надо искать другие решения.

    Другое традиционное решение, кроме кубических сплайнов дефекта 1 — полиномы Лагранжа. Это полиномы степени n&nbsp–&nbsp1, принимающие заданные значения в заданных точках. То есть членения на сегменты здесь не происходит, вся последовательность описывается одним полиномом.
    Но вот что получается:

    Гладкость, конечно, присутствует, но наглядность пострадала так сильно, что… пожалуй, стоит поискать другие методы. На некоторых наборах данных результат выходит нормальный, но в общем случае ошибка относительно линейной интерполяции (и, соответственно, ложные экстремумы) может получаться слишком большой — из-за того, что тут всего один полином на все сегменты.

    В компьютерной графике очень широко применяются кривые Безье, представленные полиномами k-й степени.
    Они не являются интерполирующими, так как из k&nbsp+&nbsp1 точек, участвующих в построении, итоговая кривая проходит лишь через первую и последнюю. Остальные k&nbsp–&nbsp1 точек играют роль своего рода «гравитационных центров», притягивающих к себе кривую.
    Вот пример кубической кривой Безье:

    Как это можно использовать для интерполяции? На основе этих кривых тоже можно построить сплайн. То есть на каждом сегменте сплайна будет своя кривая Безье k-й степени (кстати, k&nbsp=&nbsp1 даёт линейную интерполяцию). И вопрос только в том, какое k взять и как найти k&nbsp–&nbsp1 промежуточную точку.
    Здесь бесконечно много вариантов (поскольку k ничем не ограничено), однако мы рассмотрим классический: k&nbsp=&nbsp3.
    Чтобы итоговая кривая была гладкой, нужно добиться дефекта 1 для составляемого сплайна, то есть сохранения непрерывности первой и второй производных в точках сочленения сегментов (Pi), как это делается в классическом варианте кубического сплайна.
    Решение этой задачи подробно (с исходным кодом) рассмотрено здесь.
    Вот что получится на нашем тестовом наборе:

    Стало лучше: ложные экстремумы всё ещё есть, но хотя бы не так сильно отличаются от реальных.

    Думаем и экспериментируем

    Можно попробовать ослабить условие гладкости: потребовать дефект 2, а не 1, то есть сохранить непрерывность одной только первой производной.
    Достаточное условие достижения дефекта 2 в том, что промежуточные контрольные точки кубической кривой Безье, смежные с заданной точкой интерполируемой последовательности, лежат с этой точкой на одной прямой и на одинаковом расстоянии:

    В качестве прямых, на которых лежат точки Ci&nbsp–&nbsp1(2), Pi и Ci(1), целесообразно взять касательные к графику интерполируемой функции в точках Pi. Это гарантирует отсутствие ложных экстремумов, так как кривая Безье оказывается ограниченной ломаной, построенной на её контрольных точках (если эта ломаная не имеет самопересечений).

    Методом проб и ошибок эвристика для расчёта расстояния от точки интерполируемой последовательности до промежуточной контрольной получилась такой:

    Эвристика 1

    image

    Первая и последняя промежуточные контрольные точки равны первой и последней точке графика соответственно (точки C1(1) и Cn&nbsp–&nbsp1(2) совпадают с точками P1 и Pn соответственно).
    В этом случае получается вот такая кривая:

    Как видно, ложных экстремумов уже нет. Однако если сравнивать с линейной интерполяцией, местами ошибка очень большая. Можно сделать её ещё меньше, но тут в ход пойдут ещё более хитрые эвристики.

    К текущему варианту мы пришли, уменьшив гладкость на один порядок. Можно сделать это ещё раз: пусть сплайн будет иметь дефект 3. По факту, тем самым формально функция не будет гладкой вообще: даже первая производная может терпеть разрывы. Но если рвать её аккуратно, визуально ничего страшного не произойдёт.
    Отказываемся от требования равенства расстояний от точки Pi до точек Ci&nbsp–&nbsp1(2) и Ci(1), но при этом сохраняем их все лежащими на одной прямой:

    Эвристика для вычисления расстояний будет такой:

    Эвристика 2

    Расчёт l1 и l2 такой же, как в «эвристике 1».
    При этом, однако, стоит ещё проверять, не совпали ли точки Pi и Pi&nbsp+&nbsp1 по ординате, и, если совпали, полагать l1&nbsp=&nbspl2&nbsp=&nbsp0. Это защитит от «вспухания» графика на плоских отрезках (что тоже немаловажно с точки зрения правдивого отображения данных).

    Результат получается такой:

    В результате на шестом сегменте ошибка уменьшилась, а на седьмом — увеличилась: кривизна у Безье на нём оказалась больше, чем хотелось бы. Исправить ситуацию можно, принудительно уменьшив кривизну и тем самым «прижав» Безье ближе к отрезку прямой, которая соединяет граничные точки сегмента. Для этого используется следующая эвристика:

    Эвристика 3

    Если абсцисса точки пересечения касательных в точках Pi(xi,&nbspyi) и Pi&nbsp+&nbsp1(xi&nbsp+&nbsp1,&nbspyi&nbsp+&nbsp1) лежит в отрезке [xi;&nbspxi&nbsp+&nbsp1], то l1 либо l2 полагаем равным нулю. В том случае, если касательная в точке Pi направлена вверх, нулю полагаем максимальное из l1 и l2, если вниз — минимальное.

    Результат следующий:

    На этом было принято решение признать цель достигнутой.
    Может быть, кому-то пригодится код.

    А как люди-то делают?

    Обещанный обзор. Конечно, перед решением задачи мы посмотрели, кто чем может похвастаться, а уже потом начали разбираться, как сделать самим и по возможности лучше. Но вот как только сделали, не без удовольствия ещё раз прошлись по доступным инструментам и сравнили их результаты с плодами наших экспериментов. Итак, поехали.

    MS Excel

    Это очень похоже на рассмотренный выше сплайн дефекта 1, основанный на кривых Безье. Правда, в отличие от него в чистом виде, тут всего два ложных экстремума — первый и второй сегменты (у нас было четыре). Видимо, к классическому поиску промежуточных контрольных точек тут добавляются ещё какие-то эвристики. Но ото всех ложных экстремумов они не спасли.

    LibreOffice Calc

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

    Есть там ещё один тип интерполяции, который мы тут не рассматривали: B-сплайн. Но для нашей задачи он явно не подходит, так как даёт вот такой результат :)

    Highcharts, одна из самых популярных JS-библиотек для построения диаграмм

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

    amCharts, ещё одна популярная JS-библиотека

    Картина очень похожа на экселевскую, те же два ложных экстремума в тех же местах.

    Coreplot, самая популярная библиотека построения графиков для iOS и OS X

    Есть ложные экстремумы и видно, что используется сплайн дефекта 1 на основе Безье.
    Библиотека открытая, так что можно посмотреть в код и убедиться в этом.

    aChartEngine, вроде как самая популярная библиотека построения графиков для Android

    Больше всего похоже на кривую Безье степени n&nbsp–&nbsp1, хотя в самой библиотеке график называется «cubic line». Странно! Как бы то ни было, тут не только присутствуют ложные экстремумы, но и в принципе не выполняются условия интерполяции.

    Вместо заключения

    В конечном счёте получается, что из «больших ребят» лучше всех проблему решили Highcharts. Но метод, описанный в этой статье, обеспечивает ещё меньшую ошибку относительно линейной интерполяции.
    Вообще, заняться этим пришлось по просьбе покупателей, которые зарепортили нам «острые углы» в качестве бага в нашем движке диаграмм. Будем рады, если описанный опыт кому-то пригодится.

    Понравилась статья? Поделить с друзьями:
  • Интерполяция как функция в excel
  • Интерполяция диаграммы в excel
  • Интерполяция в excel что это
  • Интерполяция в excel примеры
  • Интерполяционный полином лагранжа excel