Математика / Интерполяция

Натуральный кубический сплайн: уравнения для вторых производных

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

Опубликовано: Обновлено:

Формула

$$h_{i-1}M_{i-1}+2(h_{i-1}+h_i)M_i+h_iM_{i+1}=6(\delta_i-\delta_{i-1})$$
Схема Натуральный кубический сплайн
Натуральный кубический сплайнНатуральный кубический сплайнS(x)000.50.27510.551.50.82521.1xS(x)

Узлы (0;0),(1;1),(2;0); M₀=M₂=0, M₁=−3.

Обозначения

$x$
аргумент, состояние или вектор данных конкретной задачи, единицы исходной модели
$n,k,i,j$
целые индексы узла, шага либо компоненты, безразмерные
$ε / err$
допуск или оценка вычислительной ошибки, если она используется, единицы результата

Условия применения

Узлы должны быть упорядочены и иметь разные координаты, h_i=x_{i+1}−x_i не равны нулю. Натуральные граничные условия задают M_0=M_n=0; величины delta_i являются наклонами соседних хорд. После решения проверьте симметричность трёхдиагональной системы и непрерывность кусочных полиномов.

Ограничения

Результат нельзя переносить на похожую по словам, но другую модель. Оценка ошибки может быть локальной, а сходимость — зависеть от гладкости, обусловленности или начальных данных. Округление, вырождение матрицы и нарушения ограничений меняют смысл вычисления. Число после знака равенства не заменяет проверку: следует показать, какая именно формула применена, в каких единицах получен ответ и почему условия выполнены. Для информационных величин особенно важно не смешивать биты и натуральные единицы.

Подробное объяснение

Сплайн не строит один полином на всём отрезке. На каждом промежутке работает свой кубический кусок, а равенство значений, первых и вторых производных в узлах склеивает их в гладкую кривую.

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

Натуральные условия M_0=M_n=0 моделируют свободные концы. Они не подходят автоматически, если известны наклоны на концах: тогда применяют закреплённый или другой краевой сплайн.

В проверке особенно полезны совпадение S(x_i)=y_i и симметрия данных. Гладкая картинка ещё не гарантирует правильной склейки, поэтому проверяют также первые производные слева и справа.

На [0;1] получается S(x)=1,5x−0,5x³: кубический коэффициент равен M_1/(6h)=−0,5, а линейный — y_1−M_1h²/6=1,5. Поэтому S(0,5)=0,6875; это проверяемый результат, а не «неполная запись».

Как пользоваться формулой

  1. Выпишите h_{i-1}M_{i-1}+2(h_{i-1}+h_i)M_i+h_iM_{i+1}=6(\delta_i-\delta_{i-1}) и отметьте искомую величину; не заменяйте её одноимённым параметром из другой модели.
  2. Подготовьте данные в требуемой форме: проверьте индексы, знак, область аргумента, нормировку либо размерность.
  3. Выполните первое задание по действиям и сохраните промежуточные значения каждого коэффициента, отношения или суммы.
  4. Проверьте результат естественным способом: симметрией, точным частным случаем, невязкой или исходным ограничением.
  5. Разберите второе задание: изменённые данные показывают границу применимости и предупреждают типичную ошибку метода.

Историческая справка

Кубические сплайны оформились в середине XX века как вычислительный ответ на необходимость гладко соединять таблицы измерений. Слово spline пришло из чертёжной практики: гибкая рейка проходила через точки с плавным изгибом. В математической записи гладкость до второй производной превращается в трёхдиагональную систему для M_i. Натуральные краевые условия S″(x_0)=S″(x_n)=0 получили распространение как простая модель свободных концов.

В современном учебнике Fundamentals of Numerical Computation Тобина Дрисколла и Ричарда Брауна кубический сплайн рассматривается как кусочная интерполяция с условиями склейки. Выбор натуральных краёв добавляет два уравнения для вторых производных на концах. Так чертёжная идея плавной линии получает воспроизводимую вычислительную форму: вместо визуальной оценки решается линейная система, а гладкость проверяется значениями производных.

Пример

Для узлов (0;0), (1;1), (2;0) имеем h_0=h_1=1, δ_0=1, δ_1=−1. Натуральные условия M_0=M_2=0 дают 4M_1=6(−2), поэтому M_1=−3. На первом интервале S(x)=1,5x−0,5x³; S(0,5)=0,75−0,0625=0,6875. На втором интервале данные симметричны, поэтому S(1,5)=0,6875. Проверка: S(0)=0, S(1)=1 и S(2)=0, а первые и вторые производные совпадают в x=1. Это именно кусочная, а не единая кубическая интерполяция. Второй кусок является зеркальным первым, поэтому значение в 1,5 проверяет и симметрию данных, и склейку в центральном узле.

Частая ошибка

Нельзя записать M_0=M_n=0 как следствие интерполяции: это именно выбранные краевые условия. Не следует смешивать δ_i=(y_{i+1}−y_i)/h_i со второй производной. При неравных h_i нельзя заменить оба шага единицей. И нельзя проверять только узлы: неверный сплайн тоже может попасть во все y_i, но иметь скачок производной. В разборе «Натуральный кубический сплайн: уравнения для вторых производных» проверяют именно обозначения и условия данной записи.

Практика

Задачи с решением

Вторые производные трёхузлового сплайна

Условие. Для узлов (0;0),(1;1),(2;0) найдите M_1 натурального сплайна.

Решение. h_0=h_1=1, δ_0=1, δ_1=−1. При M_0=M_2=0: 4M_1=6(−1−1)=−12, значит M_1=−3.

Ответ. M_1=−3.

Значение сплайна в x=1,5

Условие. Вычислите S(1,5) для этого сплайна.

Решение. На [1;2] по симметрии S(1,5)=S(0,5). Первый кусок S(x)=1,5x−0,5x³, поэтому S(0,5)=0,75−0,0625=0,6875.

Ответ. S(1,5)=0,6875.

Дополнительные источники

  • https://fncbook.com/splines/
  • https://dlmf.nist.gov/3.11

Связанные формулы

Математика

Остаток интерполяции Лагранжа: оценка ошибки

$R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{j=0}^{n}(x-x_j)$

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

Математика

Аппроксимант Паде [1/1]: дробное приближение ряда

$[1/1]_{e^x}(x)=\frac{1+x/2}{1-x/2}$

Аппроксимант Паде [1/1]: дробное приближение ряда даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.

Математика

Квадратура Гаусса—Лежандра с тремя узлами

$\int_{-1}^{1}f(x)dx\approx\frac59f(-\sqrt{3/5})+\frac89f(0)+\frac59f(\sqrt{3/5})$

Квадратура Гаусса—Лежандра с тремя узлами даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.