Главная > Разное > Кривые и поверхности на экране компьютера
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

2.2.6. Программная реализация

Описанный выше алгоритм построения бикубического сглаживающе сплайна и вычисления его значений в произвольной точке реализо в виде подпрограммы написанной на языке Фортран:

(см. скан)

(см. скан)

(см. скан)

Обращение к программе имеет вид:

Входные данные;

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

- код типа граничных условий на прямых на прямых

- условия типа массив длины элемент содержит значение частной производной по х в узлах для граничных условий 1-го типа,

массив длины элемент содержит значение 1-й частной производной по х в узлах для граничных условий 1-го типа,

массив элемент содержит значение 1-й частной производной по у в узлах для граничных условий 1-го типа,

массив длины элемент содержит значение 1-й частной производной по у в узлах граничных условий 1-го типа,

массив длины 4, содержит значения смешанных производных в угловых точках сетки в случае граничных условий 1-го типа,

- массив длины содержит значения весовых коэффициентов,

массив длины содержит значения весовых коэффициентов,

рабочие массивы длины рабочие массивы длины рабочие массивы длины рабочие массивы длины код режима работы:

программа вычисляет параметры сплайна, параметры сплайна известны,

координаты точки, в которой вычисляются параметры сплайна.

Результат;

значение сплайна в точке с координатами

В процессе работы программа обращается к программам и

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

Пример? Предположим, что фунция "измеряется" в узлах сетки

с погрешностью которая распределена равномерно на отрезке [0.1, 0.1]. Для весовых коэффициентов примем значения

Программа для решения этой задачи может иметь следующий вид

(см. скан)

(см. скан)

Замечание

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

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

(см. скан)

(см. скан)

Следующая программа сначала создает массив "экспериментальных" данных, а затем строит сглаживающий сплайн, удовлетворяющий граничным условиям 3-го типа,

(см. скан)

(см. скан)

Текст программы находится в файле в поддиректории на дискете, которую можно приобрести в издательстве "Диалог-МИФИ". В эту же поддиректорию помещены файлы, содержащие примеры применения программы при других граничных условиях. Подробную информацию об именах этих файлов и их содержании можно найти в файле из директории SPLINES этой дискеты и в приложении В нашей книги.

<< Предыдущий параграф Следующий параграф >>
Оглавление