oliva писал(а):
olga_helga писал(а):
для зглаживания экспериментальных данных используют апроксимацию.
Да не нужно данные сглаживать
Аппроксимацию со сглаживанием применяют когда данные получены с погрешностью и им не доверяют.
Я решаю задачу интерполяции и измеренным точкам доверяю больше чем каким-либо расчетным. Интерполяция - нахождение кривой, которая ПРОХОДИТ через экспериментальные точки.
Это напрасно Вы так доверчивы. Экспериментальные данные всегда имеют некоторую экспериментальную же погрешность, причём заметную. Интерполяция довольно неустойчива по отношению к ним, а при сгущении точек (когда погрешности становятся соизмеримыми с расстояниями между узлами) ситуация вообще становится катастрофической. Если Вы хотите точки именно сгущать -- следует применять какой-нибудь способ сглаживания: вот например сглаживающие сплайны. Интерполирующие сплайны годятся лишь если точек не очень много и они разбросаны более-менее равномерно.
Интерполяционный многочлен во всём диапазоне измерений -- плохой выход из положения. Он и сам по себе численно неустойчив (при большом к-ве узлов), и даже теоретические погрешности для него резко возрастают к крайним узлам.
Чебышёвская интерполяция для приближения
экспериментальных данных непригодна категорически. Она хороша лишь тогда, когда узловые значения известны абсолютно точно (в пределах машинной точности, естественно). Но поскольку крайние чебышёвские узлы расположены очень близко друг к другу -- применительно к эксперименту см. выше.
Абсолютные оценки погрешности практически недоступны; обычно применяют како-либо вариант правила Рунге. Это значит, что аппроксимацию проводят два раза: при исходном расположении узлов и при вдвое более частом, а потом смотрят на отклонение друг от друга полученных кривых. Она и будет хорошей оценкой точности (последнего приближения).
Сплайн характеризуется таким принципиальным параметром, как
дефект; он определяется количеством условий сшивания на производные в узлах. Говоря формально, дефект -- это разность между степенью сплайна (как многочлена на каждом отрезке) и степенью его гладкости, т.е. к-вом производных, которые непрерывны на всёй совкупности отрезков. Применительно к кубическому сплайну дефект может быть равным либо 2 (когда в узлах сшиваются только первые производные), либо 1 (сшиваются и первые, и вторые производные). При грамотной постановке задачи в обоих случаях получается примерно один порядок точности аппроксимации. Однако сплайны с дефектом 2 слишком недоопределены, т.е. у них слишком много свободных параметров. Обычно недостающие требования определяют из значений "наклонов", т.е. первых производных в узлах, но поди ещё до них доберись в экспериментальной задаче. Поэтому чаще всего работают со спланами минимального (единичного) дефекта. При этом условия сшивания дают некоторую трёхдиагональную систему линейных уравнений, которые легко решаются методом прогонки.
И последнее, наверное. Даже для сплайна с дефектом 1 остаются два свободных параметра, которые обычно фиксируют какими-либо граничными условиями; общая точность аппроксимации, естественно, зависит от этих условий. Максимально достижимая точность для кубического сплайна есть
(
-- это расстояние между узлами). Чтобы её не потерять, надо, например, в качестве граничных условиях зафиксировать значения производной на концах (с достаточной точностью -- не хуже
, если мне не изменяет память). Часто в качестве граничных условий рекомендуют нулевые граничные условия на вторые производные на концах (это вроде как красиво, т.к. соответствует минимизации кривизны графика). Однако погрешность аппроксимации при этом резко загрубляется -- оказывается всего лишь порядка
. Правда, заметно это огрубление лишь на крайних отрезках, а вглубь промежутка экспоненциально спадает.