V Канатников и др. Дифференциальное исчисление функций многих переменных (1081393), страница 40
Текст из файла (страница 40)
Так как бикубический сплайн является кубическим сплайном по каждому из переменных, то его можно построить, например, для фиксированных значений р = р;, у = О, тп. Действительно, функция 8з,з(х,у ) является кубическим сплайном с узлами х;, ~ = О, и, для которого в узлах заданы значения функции и значения производной. По этим данным кубический сплайн восстанавливается однозначно. Используя кубический иииерпо.аяииокный многочаен Эрмита, можно записать изз(х,у,) =а(и)д~, .+~3(и)у; + у(и)у1~1 +0(и)р;'~, (10.17) где и = (х — х; 1)/Ьх;, Ьх; = х; — х; 1, а функции а(и), д(и) ~(и), 0(и) вычисляются по формулам а(и) = (1 — и)~(1+ 2и), 8(и) = и (3 — 2и), у(и) = и(1 — и) Ьх;, 0(и) = — и (1 — и)Ьх;.
Частная производная — 83 3(х, у) при фиксированном у явля ау ется кубическим сплайном относительно переменного х, ко торый при значениях у= р может быть записан с помошь'0 10.4. Бикубические сплайиы двух переменных „„бического интерполяционного многочлена Эрмита: Вз з(х, У3) = О(и)(Р01 + 6(ияли + д ду + у(и) р; 1~+,6(и) р;).. (10,18) 3ная значения функции 8з,з(ж,у) в точках (х; у, 1) и (ж; у.), м м д ~м; 1, х;), а также значения частнои производнои — 8зз, с ди помощью интерполяционного многочлена Эрмита можно восстановить сплайн для точек (ж; У) при У б ~У 1, У;1: язз(ж У) = а(1~)8з,з(~ У1-1) + Р(ю)8з,з(ж У1) + д д +7(ю) д Зз,з(ж,Уд-1)+6(е) д зз,з(ж,У~), (10.19) ду ' ' ' ду где о= (у — у 1)(йу,, Ьу = у, — у 1, а функции а(ю),,8(ю), у(е), 8(ю) имеют тот же вид, что и выше.
Нетрудно показать, что построенная таким образом функция зз,з(ж„у) имеет непрерывные частные производные первого юрядка на прямоугольнике ц', а потому является бикубическим сплайном. Из проведенных рассуждений следует, что других бикубических сплайнов, удовлетворяющих заданным условиям, нет. Построенный таким образом бикубический сплайн назь1вают интперпояяционным эрмичповым бикубическим ейлайном.
2. Другой задачей является интерполирование функции в Прямоугольнике Ч только по значениям этой функции в узаах интерполяции, т.е. при неизвестных частных производных. В зтом случае, как и при одномерной интерполяции, недостаток условий можно восполнить дополнительными требования- "и гладкости: решение можно искать в классе бикубических спцайнов, имеющих непрерывные частные производные второ- ~0 порядка. Это приводит к системе уравнений, отражающих 296 ю. интктолиговлния Функций равенство односторонних частных производных в узлах сплай на.
Однако, как и при одномерной интерполяции, этих уран нений для однозначного определения сплайна все-таки недост. точно. Поэтому в систему уравнений, определяющих сплай» вводят дополнительные условия, связанные с поведением сплай на на границе прямоугольника Я. В каждой клетке ® заданной сетки сплайн определяет ся 16 коэффициентами, входящими в представление (10.16) Следовательно, всего в определении сплайна участвуют 16щп коэффициентов. Но решение системы уравнений относительно 16та коэффициентов — трудоемкое занятие. Непросто 1а же записать соответствующую систему из 16тп уравнений дл» определения этих коэффициентов. Строить интерполяционный сплайн в рассматриваемой задаче нужно с учетом специфики этой задачи.
Напомним, что дважды непрерывно дифференцируемый бикубический сплайн является дважды дифференцируемым кубическим сплайном но каждому переменному. Поэтому построение бикубического сплайна можно свести к одномерному случаю. Действительно, фиксируем, например, переменное у, положив у = у,, где у — узел разбиения по переменному р. Тогда функция и (х) = = зз з(ж,у~) является кубическим сплайном с известными значениями в точках ж = х;, г = О, и, непрерывными первой и второй производными.
Его можно определить однозначно, указав дополнительные условия одного из трех ранее рассмотренных типов, относящиеся к точкам (ж0,.р,) и (х„;у ). Таким образом, бикубический сплайн определен на серии прямых у =% у=О,ти. При фиксированном переменном х функция 8зз(х,у)»вл» ется дважды дифференцируемым кубическим сплайном по пе ременному у. Такой сплайн однозначно определяется сцои ми значениями 8з,з(х,р.), ~ = О,т, а также дополнительнь' ми условиями в точках (ж;у0) и (ж;у,„). Пусть, напримеР вершинах (х0, р0), (ж0.,у„,), (х„; ро) и (ж„;у,„) прямоугольп" 10А, Бикубические сплайны двух переменных д2 ка а Я заданы значения смешанных производных — 833, а в д ду ,раничных узлах (х;;у0) и (х;;р ), ~ =О, п,, заданы значения частной прОизводной 83 3 ° Частная производная 83,3(х' 1ф) дд дд ри фиксированном переменном у = р0 является дважды дифференцируемым кубическим сплайном с заданными значениями в точках х =х;, г =О, п, и с заданными значениями производ«ой на концах отрезка ~хо, х„~.
Такими данными он однозначно Определяется, т.е. однозначно определяются значения частной производной — 833(х,у) бикубического сплайна при фиксиродд ванном значении у = у0. Аналогично эта частная производная Определяется и при у=у . Тем самым оказывается известной производная кубического сплайна 83 3(х, у) (х фиксировано) иа концах отрезка ~у0, у„,~, т.е. этот сплайн однозначно определяется по известным значениям в узлах и дополнительным условиям второго типа. Итак, для полного и однозначного определения бикубического сплайна, дважды дифференцируемого по каждому переменному, нужно задать дополнительные условия в граничных узлах сплайна, а в вершинах прямоугольника ц дополнительно задать значения смешанной производной второго порядка. Построение сплайна сводится к вычислению трех массивов неизвестных п~ц 83 3(х~,УУ), 7и~ — — 83,3(х1~УР)1 ~п~~ д д 83,3(х1,Ц).
Вычисляемые значения удобно записывать в виде серии прямоугольных таблиц. В табл. 10.1 внутренняя часть содержит известные значения у;,. сплайна во всех его узлах, две крайних строки и два крайних столбца отражают дополнительные Условия (известные значения частных производных), при этом четыре угловых элемента — это известные значения смешан- "М производных соответствующего порядка в вершинах пря"ОУгольника Я. По записанным в табл. 10.1 значениям строят яплайны 83,3(х,у ), у =О, т, по строкам таблицы. Для этого 10.
ИНТЕРПОЛИРОВАНИЕ ФУНКЦИИ 298 вычисляют значения промежуточных переменных т1О и зап„ няют новую таблицу, аналогичную исходной, но без граничп,„„ столбцов. Граничные строки новой таблицы будут содержат значения неизвестных т,'~, г' = О, и, ~ = О, т.
Таблица 10.1 По столбцам второй таблицы строят кубические сплайны по переменному у, вычисляя значения тН смешанных производных в узлах сплайна. Наконец, по исходной таблице (см. табл. 10.1) вычисляют неизвестные то1. Совокупность найденных значений т";,', где г и з принимают значения 0 нли 1, позволяет с помощью формул (10.17)-(10.19) (с заменой в них у,"' на т" ) восстановить искомый сплайн как зрмитов бикубический сплайн.
10.5. Приближение кривых и поверхностей При работе со сложными кривыми или поверхностями в процессе конструирования или обработки необходимо иметь их математическое описание с помощью достаточно гладких и простых функций, обеспечивающее необходимую точность Такое описание можно получить с помощью сплайнов. остановимся на варианте поставленной задачи, когда кривая или поверхность определяется некоторым множеством свои" точек, т.е. на задаче интерполирования кривых и поверхностен' 10.5. Приближение кривых и поверхностей 299 будем исходить из того, что информация о кривой или порхности задана в ниде декартовых координат упорядоченного Множества точек кривой (поверхности). Сперва остановимся а интерполяции кривых Пусть на некоторой кривой заданы оИМИ координатами точки Ро, Р1, ..., р . Координаты точки Р; обозначим 2 и' о ®,, у;, л;.
Простейшим приближением кривой в этом сМучае является ломаная реР1...Р„, вписанная в аппроксимируеи иу1о кривую (рис. 10.8). Для аналитического описания этой ломаной вычислим расстояния между соседними вершинами Р; 1 и Р; ломаной: Рис. 10.В и в соответствии с ними выберем разбиение Т отрезка 10, 1) точками 0 = то < т1 « ... т;, = 1, полагая т —— т— ~п Ц=~ Ы~, в=1,и.
Тогда ребро Р; 1Р; ломаной можно задать уравнениями з (т) =(1 — и)ж; 1+их;, 81,(т) = (1 — и)У; 1+ иУ;, 8,(т) = (1- и)х; 1+ ия;, т е [т'-1~ т'~~ (10.20) где т тв-1 и=, Йт;=т; — т; 1, г=1,п. Ьт; формулы (10.20) соответствуют интерполяционному сплайну ®ервой степени. Для приближения кривой можно также использовать эрмитовы интерполяционные сплайны. Для этого кроме значений координатных функций аппроксимируемой кривой в узлах ин~чрполяции необходимо использовать и значения производных 300 и. интктоли~овлник Ф~нкиий ж'„у', л' этих функций, вообще говоря, неизвестные.
Неи вестные значения производных заменяют разделенными рази, стями по формулам ю~ — юо ю~ — ~~~ ®о = (1+ И1) Д вЂ” И1 Дт~ Т3 (10.21) 3 Д7;+1 Дт; ~и~ = (1+ А~-д) Д ~а-1 Д ~ (10.23) Дт„ Дг где М+1 Д7ф Дт;+ Дт;~~ ' Дт;+ Дт;. ~ ' а и; есть значения соответствующей координатной функция (ж(т), р(г) или г(г)) в узлах интерполяции. Указанные формулы используют, если кривая не является замкнутой. Если же кривая замкнута, то Ро —— Ри и вместо формул (10.21), (10.23) используют формулу Дт ю1 юо ДТ1 ш ш (10 24) ~0 п~а + Дт~ + Дт„Дт~ Дт~ + Д7.„Дг„ Можно также использовать дважды дифференцируемые кубические сплайны, дополняя значения координатных функций дополнительными условиями (см.