Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
25.10.2012 интерполяция В сплайн.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.43 Mб
Скачать

1.2. Пример сплайн-интерполяции

Пусть задана таблица значений функции f(xi) = yi ( ), в которой они расположены по возрастанию значений аргумента: x0 < x1 < … < xn. Чтобы построить кубический сплайн, требуется определить коэффициенты ai0, ai1, ai2, ai3, которые задают интерполяционный кубический многочлен

на каждом интервале интерполирования [xi-1, xi], .

Таким образом, необходимо определить 4n коэффициентов aij ( , ), для чего требуется 4n уравнений. Необходимые уравнения определяются следующими условиями.

1. Условия непрерывности функции:

2. Условия непрерывности 1-х и 2-х производных функции:

3. Граничные условия:

Часто используются граничные условия вида Получаемый при этом сплайн называется естественным кубическим сплайном.

Задача определения кубического сплайна существенно упрощается при использовании многочлена Эрмита. Кубический многочлен Эрмита на интервале [xi-1, xi] определяется с помощью значений функции yi-1, yi и ее производных yi-1, yi. Так как значения производных в общем случае могут быть неизвестны, обозначим их как yi-1 = Si-1; yi = Si. При построении сплайна переменные Si называются наклонами сплайна в соответствующих точках xi.

Запишем многочлен Эрмита для интервала [xi-1, xi], где hi = xi - xi-1:

При таком выборе кубического многочлена автоматически выполняются условия непрерывности функции и ее первых производных:

Чтобы определить сплайн, нужно задать условия непрерывности второй производной:

Для записи этих условий в развернутом виде определим кубический многочлен Эрмита на интервале [xi, xi+1], где hi+1 = xi+1 - xi:

Определим вторые производные многочленов Qi(x) и Qi+1(x) в точке x = xi:

(4)

(5)

Отсюда условие непрерывности вторых производных имеет вид:

(6)

Это условие порождает систему линейных уравнений относительно наклонов сплайна Si, которая содержит n - 1 уравнение и n + 1 переменную. Чтобы определить два недостающих уравнения используются граничные условия. Например, для естественного кубического сплайна:

Указанные граничные условия могут быть получены из уравнения (5) для i = 0 и из уравнения (4) для i = n соответственно. В развернутом виде:

(7)

Решение системы линейных уравнений, образованной условиями (6) и (7), позволяет вычислить наклоны сплайна Si (i = ) и определить кубический сплайн путем записи многочлена Эрмита для каждого интервала [xi-1, xi], i = .

1.3.Интерполяция в-сплайнами в MathCad

2. Процесс интерполяции в matlab

MATLAB – это высокоуровневый язык технических расчетов, интерактивная среда разработки алгоритмов и современный инструмент анализа данных. MATLAB по сравнению с традиционными языками программирования (C/C++, Java, Pascal, FORTRAN) позволяет на порядок сократить время решения типовых задач и значительно упрощает разработку новых алгоритмов. MATLAB представляет собой основу всего семейства продуктов MathWorks и является главным инструментом для решения широкого спектра научных и прикладных задач, в таких областях как: моделирование объектов и разработка систем управления, проектирование коммуникационных систем, обработка сигналов и изображений, измерение сигналов и тестирование, финансовое моделирование, вычислительная биология и др.

Ядро MATLAB позволяет максимально просто работать с матрицами реальных, комплексных и аналитических типов данных. Содержит встроенные функции линейной алгебры (LAPACK, BLAS), быстрого Фурье преобразования (FFTW), функции для работы с полиномами, функции базовой статистики и численного решения дифференциальных уравнений. Все встроенные функции ядра MATLAB разработаны и оптимизированы специалистами и работают быстрее или так же, как их эквивалент на C/C++ Ключевые возможности:

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

• Богатые средства визуализации, 2-D и 3-D графика

• Встроенные средства разработки пользовательского интерфейса для создания законченных приложений на MATLAB • Средства интеграции с C/C++, наследование кода, ActiveX технологии

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]