Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выч мат для заочников.doc
Скачиваний:
51
Добавлен:
08.03.2015
Размер:
565.76 Кб
Скачать

1.5. Сглаживание с помощью сплайнов

Сплайны лишь недавно стали использовать в вычислительнойматематике. Однако в машиностроительном черчении они фактически применяются уже давно, т. к. сплайн – это в переводе не что иное, как «гибкая линейка», которую деформируют так, чтобы по ней можно было провести кривую через заданные точки (xi,уi).Сплайн (или сплайн-функции) – функция с кусочной структурой и повторяющимся на каждом звене (отрезке) строением, но с различными значениями параметров.

Кубическийсплайн– это группа сопряженных кубических многочленов, в местах сопряжениякоторых первая и вторая производные непрерывны. Чтобы построить кубический сплайн, необходимо задать коэффициенты, которые единственным образом определяют кубический многочлен в промежутке между данными точками. Например, в случае,представленном на рис. 1, необходимо задать все кубические функции q1(х), q2(х), . . ., qm(х).

Рис. 1. Кубический сплайн

В наиболее общем случае эти многочлены имеют вид:

qi (х) = k1i + k2i x + k3i x2 + k4i x3, i=1, 2, . . ., m,

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

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

qi (x) =yi;i = 1,…,m;

qi + 1(xi) =yi;i = 0,…,m – 1.

Следующие 2m– 2 условий требуют, чтобы в местах соприкосновения сплайнов были равны первые и вторые производные:

qi+1(xi) = qi(xi), i = 1,…, m – 1;

qi+1(xi) = qi(xi), i = 1,…, m – 1.

Система алгебраических уравнений имела решение тогда, когда число уравнений точно равно числу неизвестных. На данном этапе мы имеем 4mнеизвестных и 4m– 2 уравнений. Следовательно, мы должны найти еще два уравнения. Обычно используют уравнения

q1(x0) = 0 иqm(хm) = 0.

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

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

qi (x) =tyi +tср.yi – 1+xi[ki – 1di)tt2ср.– (kidi)t2tcp.],

где i = 1,..., m;

xi = xi xi – 1;

t = (x xi – 1)/xi;

tcp. = 1 – t;

уi = yi – 1;

yi/xi = di ,

то каждое из уравнений qi (x)содержит только два постоянных неизвестных коэффициента. После того как первое уравнение qi (x) записано, с каждым следующим уравнением добавляетсятолько один новый неизвестный коэффициент. При этом при x xi – 1 t = 0, tcp. = 1, а при х = xi tcp. = 0, t = 1. Следовательно, при таком выборе кубических многочленов автоматически удовлетворяются все условия, кроме условий, налагаемых на вторые производные. Последние условия для внутренних точек выражаются соотношениями:

ki – 1xi + 1 + 2ki (xi + xi + 1) + ki + 1xi = 3(dixi + 1 + di + 1xi),

а для двух внешних – соотношениями:

2k0 + k1 = 3dl и km – 1 + 2km – l = 3dm.

Таким образом, решаемая система уравнений является линейной, а ее матрица – трехдиагональной:

В этой системе уравнений число определяемых коэффициентов равно числу заданных точек. Поэтому решение оказывается не более сложным, чем в случае аппроксимации т + 1 точек многочленомm-й степени. Часто оказывается, что кубический сплайн аппроксимирует функцию лучше, чем многочлен степенит.

.

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