УМК (1013374), страница 20
Текст из файла (страница 20)
В отличие от применения степенных функций,∂a0∂a1нахождение неизвестных коэффициентов сводится к решению двух нелинейныхуравнений.118Лекция 156. МЕТОДЫ ЧИСЛЕННОГО ДИФФЕРЕНЦИРОВАНИЯПОСТАНОВКА ЗАДАЧИПусть на множестве Ω = [a, b] заданы:{}а) сетка Ω n = x i , i = 0, n , определяемая n + 1 точкой x 0 , x1 ,..., x n , а на сетке задана сеточная функция yi = f ( x i ), i = 0, n :y 0 = f ( x 0 ), y1 = f ( x1 ),..., y n = f ( x n ) ,где x i ∈ [a, b ] = [x 0 , x n ] - в общем случае неравноотстоящие узлы (неравномерная сетка),определяемые шагами hi +1 = x i +1 − x i ( hi +1 = var ), i = 0, n − 1 .
При hi +1 = h = const узлыявляются равноотстоящими (равномерная сетка). Как и ранее будем использовать обозначение f i = f ( x i ) ;б) точки x j сетки Ω n , в которых требуется найти значения производных;в) желаемый порядок t точности (аппроксимации) относительно h .Требуется с заданным порядком точности (аппроксимации) вычислить значенияпроизводных fˆ ( p ) ( x )в точках x сетки, где p – порядок производной.x =xjjИначе требуется получить аппроксимационный оператор fˆ ( p ) ( x j ) , удовлетворяющий условию f ( p ) ( x j ) − fˆ ( p ) ( x j ) ≤ C h t , где C = const , не зависящая от величинышага h .Заметим, что символом «^» здесь и далее обозначаются операторы дифференцирования.З а м е ч а н и я.1.
Если задана точка x* ∈ [a, b] , не совпадающая ни с одним из узлов сетки, то решается либо задача интерполяции заданной сеточной функции, либо задача сглаживанияметодом наименьших квадратов. Полученная функция дифференцируется необходимоечисло раз и затем вычисляется значение производной в точке x * .2. Процедура численного дифференцирования является некорректной, посколькупогрешность округления, возникающая при вычислении разностных отношений, как правило, намного превосходит погрешность в задании значений функции и может даже неограниченно возрастать при стремлении шага сетки к нулю, однако методы численногодифференцирования широко применяются на практике.МЕТОДЫ ЧИСЛЕННОГО ДИФФЕРЕНЦИРОВАНИЯА.
ПРИМЕНЕНИЕ ДВУХТОЧЕЧНОГО ШАБЛОНАВыберем двухточечный шаблон Ш 2,i = (x i , x i +1 ) на неравномерной сетке Ω n .119Формулы для вычисления первой производной имеют вид:- в левой точке шаблонаf − fifˆi′,v = i +1hi +1⎛ hi +1⎞M 2,i ⎟ ;⎜⎝ 2⎠- в правой точке шаблонаf − fifˆi′+1,v = i +1hi +1⎛ hi +1⎞M 2,i ⎟ ,⎜⎝ 2⎠где hi +1 = x i +1 − x i , M 2,i = max f ′′( x) .x∈Ш 2,iЗ а м е ч а н и я.1. С помощью разложения функций по формуле Тейлора можно показать, чтоf i′ =f i +1 − f ihi +1−hi +12f ′′(ξ ) ,гдеξ ∈ ( x i , x i +1 ) .Таккаксправедливаоценкаhi +1 ⋅ M 2,ihi +1 ′′h, то отсюда следует формула в левойf (ξ ) ≤ i +1 max f ′′( x ) =22 [ xi , xi +1 ]2точке шаблона.
В скобках справа от аппроксимационных операторов здесь и далее указываются правые части оценок их погрешностей.−2. Формулы справедливы и для равномерной, и для неравномерной сеток. Они аппроксимируют производную с первым порядком аппроксимации.2. Нижние индексы v и c , относящиеся к аппроксимационным операторам, указывают на тип шаблона – нерегулярный ( hi +1 = var ), характеризующий неравномернуюсетку, и регулярный ( hi +1 = const )), характеризующий равномерную сетку.4. Далее в тексте оценочная константа M p ,i = max fx∈Ш p ,i( p)( x)для краткости будет,как правило, использоваться без дополнительного ее описания.
В нижнем индексе этойконстанты всюду указывается p – порядок производной.Б. ПРИМЕНЕНИЕ ТРЕХТОЧЕЧНОГО ШАБЛОНАШ 3,iНа равномерной сетке Ω n выбираем трехточечный (двухшаговый) шаблон= (x i −1 , x i , x i +1 ) , характеризующийся шагом h = const .Формулы для подсчета первой производной:- в левой крайней точке1(− 3 f i −1 + 4 f i − f i +1 )fˆi′−1,c =2h120⎞⎛ h2⎜M 3,i ⎟ ;⎟⎜ 3⎠⎝- в центральной точке⎛ h2⎞M 3,i ⎟⎟ ;⎜⎜⎝ 6⎠1fˆi′,c =( f i + 1 − f i −1 )2h- в правой крайней точке1( f i −1 − 4 f i + 3 f i + 1 )fˆi′+1,c =2hгде M 3,i = max f ′′′(x ) .⎛ h2⎞M 3,i ⎟⎟ ,⎜⎜⎝ 3⎠x ∈Ш3,iФормула для подсчета второй производной имеет вид:1fˆi′,′c = 2 ( f i −1 − 2 f i + f i +1 )h⎛ h2⎞M 4,i ⎟⎟ .⎜⎜⎝ 12⎠Пример 1. Дана сеточная функция (табл.
1), являющаяся сеточным представлени1ем формульной функции y (x ) = .xixifi011,00000011,20,8333333321,40,714285731,60,6250000Таблица 1451,82,00,55555550,500000Заданы также порядок t = 2 относительно шага h , который необходимо обеспечить при решении задачи, и точка x j = 1,4 .Требуется вычислить значение первой производной f ′(1,4 ) и второй производнойf ′′(1,4 ) с помощью различных шаблонов и соответствующих формул. Воспользуемся вышеприведенной методикой.1.
Так как шаг задания сеточной функции постоянный h = xi +1 − xi = 0,2 , точкаx j = 1,4 находится внутри сетки Ω n , то для вычисления производной в этой точке выбирается формула, имеющая второй порядок аппроксимации относительно шага h . Приэтом центральная точка шаблона совпадает с точкой x j = 1,4 .2. Выберем трехточечный шаблон x 3,i = (xi −1, xi , xi +1 ) = (1,2; 1,4; 1,6) , в которомxi = 1, 4 ( i = 2 ); x i −1 = 1, 2 ( i − 1 = 1) ; x i +1 = 1, 6 ( i + 1 = 3) . В данном шаблоне центральная точка xi = 1, 4 , что соответствует центральному типу аппроксимационной формулы.3.
Подсчитаем искомое значение производной по формуле:f − f i −1 0,6250000 − 0,8333333=.fˆi′,c = i +12h2 ⋅ 0, 2Для вычисления первой производной можно было использовать и другие формулы.При выборе шаблона Ш 3,i = ( x i −1 , x i , x i +1 ) = (1, 4; 1, 6; 1,8) имеем1211(− 3 fi −1 + 4 f i − fi +1 ) = 1 [− 3 f (1,4) + 4 f (1,6) − f (1,8)]=f ′(1,4) = fˆi′−1,c =2h2h1[− 3 ⋅ 0,7142857 + 4 ⋅ 0,625 − 0,5555] = − 0,496017.=2 ⋅ 0,2− 0,496017 − 0,510204 ≅ 0,0142 ,Фактическая абсолютная погрешность составляетотносительная погрешность равна 2,78%.Если выбрать шаблон Ш 3,i = ( x i −1 , x i , x i +1 ) = (1; 1, 2; 1, 4) , то получаем1( f i −1 − 4 f i + 3 f i +1 )= 1 [ f (1) − 4 f (1,2) + 3 f (1,4)] =f ′(1,4) ≅ fˆi′+1,c =2h2 ⋅ 0,21[1,0 − 4 ⋅ 0,83333 + 3 ⋅ 0,7142857] = − 0,476187.=0,4Фактическая абсолютная погрешность равна − 0,476187 − 0,510204 ≅ 0,03401 , относительная погрешность составляет 6,66%.Для вычисления второй производной можно взять формулуна шаблонеШ 3,i = ( x i −1 , x i , x i +1 ) = (1, 2; 1, 4; 1, 6) :1( f i −1 − 2 f i + f i +1 ) = 1 2 [ f (1,2) − 2 ⋅ f (1,4) + f (1,6)] =fˆi′,′c =2h0,2=1[0,8333 − 2 ⋅ 0,7142857 + 0,625] = 0,743965.0,04Точное значение f ′′(1,4) =2= 0,7288629 .
Фактическая абсолютная погреш1,43ность равна 0,0151, относительная погрешность 2,07%. В. ПРИМЕНЕНИЕ ЧЕТЫРЕХТОЧЕЧНОГО ШАБЛОНАНа равномерной сетке Ω n выбираем четырехточечный (трехшаговый) шаблонШ 4,i = ( xi − 2 , x i −1 , xi , x i +1 ) с шагом h .Формулы для вычисления первой производной с третьим порядком аппроксимацииимеют вид:1(− 11 fi − 2 + 18 f i −1 − 9 f i + 2 f i +1 )fˆi′− 2,c =6h1(− 2 f i − 2 − 3 fi −1 + 6 fi − f i +1 )fˆi′−1,c =6h1( f i − 2 − 6 f i −1 + 3 fi + 2 fi +1 )fˆi′,c =6h1(− 2 fi − 2 + 9 fi −1 − 18 f i + 11 f i +1 )fˆi′+1,c =6h122⎛ h3⎞⎜ M 4,i ⎟ ,⎜ 4⎟⎝⎠3⎛h⎞⎜ M 4,i ⎟ ,⎜ 12⎟⎝⎠⎛ h3⎞⎜ M 4,i ⎟ ,⎜ 12⎟⎝⎠⎛ h3⎞⎜ M 4,i ⎟ .⎜ 4⎟⎝⎠Формулы для вычисления вторых производных со вторым порядком аппроксимации имеют вид:⎛ 11h 2⎞⎜M 4,i ⎟ ,⎜ 12⎟⎝⎠1fˆi′−′ 2,c = 2 (2 f i − 2 − 5 f i −1 + 4 f i − f i +1 )h⎛ h2⎞⎜M 4,i ⎟ ,⎜ 12⎟⎝⎠⎛ h2⎞⎜M 4,i ⎟ ,⎜ 12⎟⎝⎠1fˆi′−′1,c = 2 ( f i − 2 − 2 f i −1 + f i )h1fˆi′,′c = 2 ( f i −1 − 2 f i + f i +1 )h⎛ 11h 2⎞⎜M 4,i ⎟ .⎜ 12⎟⎝⎠1fˆi′+′ 1,c = 2 (− f i − 2 + 4 f i −1 − 5 f i + 2 f i +1 )hГ.
ПРИМЕНЕНИЕ ПЯТИТОЧЕЧНОГО ШАБЛОНАНа равномерной сетке Ω n выбираем пятиточечный (четырехшаговый) шаблонШ 5,i = ( x i − 2 , x i −1 , xi , x i +1 , x i + 2 ) с шагом h .Формулы для вычисления первых производных с четвертым порядком имеют вид:⎛ h4⎞⎜M 5,i ⎟ ,⎜ 5⎟⎝⎠1(− 25 f i − 2 + 48 f i −1 − 36 f i + 16 f i +1 − 3 f i + 2 )fˆi′− 2,c =12h1(− 3 fi − 2 − 10 f i −1 + 18 f i − 6 f i +1 + fi + 2 )fˆi′−1,c =12h⎛ h4⎞⎜M 5,i ⎟ ,⎜ 20⎟⎝⎠1( f i − 2 − 8 fi −1 + 8 fi +1 − f i + 2 )fˆi′,c =12h⎛ h4⎞⎜M 5,i ⎟ ,⎜ 30⎟⎝⎠1(− f i − 2 + 6 f i −1 − 18 fi + 10 f i +1 + 3 f i + 2 )fˆi′+1,c =12h⎛ h4⎞⎜M 5,i ⎟ ,⎜ 20⎟⎝⎠1(3 fi − 2 − 16 f i −1 + 36 fi − 48 fi +1 + 25 fi + 2 )fˆi′+ 2,c =12h⎛ h4⎞⎜M 5,i ⎟ .⎜ 5⎟⎝⎠Формулы для вычисления вторых производных с третьим порядком имеют вид:fˆi′−′ 2,c =fˆi′−′1,c =112h 2112h 2(35 fi − 2 − 104 fi −1 + 114 fi(11 fi − 2 − 20 fi −1 + 6 fi123− 56 f i +1 + 11 f i + 2 ) ,+ 4 f i +1 − f i + 2 ) ,fˆi′,′c =112h 2fˆi′+′ 1,c =fˆi′+′ 2,c =(−112h 2112h 2f i − 2 + 16 f i −1 − 30 f i + 16 f i +1 − f i + 2 ) ,(−f i − 2 + 4 f i −1 + 6 f i − 20 f i +1 + 11 f i + 2 ) ,(11 fi − 2 − 56 fi −1 + 114 fi− 104 f i +1 + 35 f i + 2 ) .Формулы для вычисления третьих производных в точке x i имеют вид:1fˆi′′′,c = 3 ( − f i − 2 + 3 f i −1 − 3 f i + f i +1 ) ,h1fˆi′′′,c = 3 ( − f i −1 + 3 f i − 3 f i +1 + f i + 2 ) ,h1fˆi′′′( − f i −2 + 2 f i −1 − 2 f i +1 + f i +2 ) .,c =2h 3Первые две формулы аппроксимируют третьи производные с первым порядком,а третья # со вторым.7.