* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
492
Приближение функций и прогноз
> maxTaylorError := abs( limit(f(x), x=0) – TaylorApprox(0) );
maxTaylorError := 0.0015029608 Итак, в самом начале наших попыток мы потерпели полное фиаско, получив совершенно неприемлемое значение погрешности в сотни раз больше заданной.
6.4.3. Паде аппроксимация
Теперь опробуем рациональную аппроксимацию Паде (Pade) функции f(x) степе ни (4,4). Приближения по этому разложению будут аппроксимировать функцию более точно, и потому ошибки округления в вычислениях станут более заметны ми. Поэтому зададим вычисления с двумя дополнительными знаками точности:
> Digits := 12: > s := map(evalf, taylor(f(x), x=2, 9)): > PadeApprox := pade(s, x=2, [4,4]);
PadeApprox := (0.341034792604 + 0.0327799035348x – 0.00613783638188(x – 2)2 + 0.00452991113636(x – 2)3 – 0.000431506338862(x – 2)4)/( 0.068484906786 + 0.465757546607x + 0.159149610837(x – 2)2 + 0.0266813683828(x – 2)3 + 0.00346967791444(x – 2)4)
> PadeApprox := unapply(PadeApprox, x):
Кривая ошибки для интервала [0,4] строится командой
> plot(f – PadeApprox, 0..4,color=black);
и имеет вид, показанный на рис. 6.22.
Рис. 6.22. Кривая погрешности при Паде аппроксимации степени (4,4)
Как и при аппроксимации рядом Тейлора, ошибка здесь мала вблизи точки разложения и велика вдали от нее. Мы снова видим из графика, что для указанной функции самая большая ошибка – в левой оконечной точке. Однако максималь ная ошибка в Паде аппроксимации уже на порядок меньше, чем при аппроксима ции полиномом Тейлора:
> maxPadeError := abs( limit(f(x), x=0) – PadeApprox(0) );
maxPadeError := 0.000353777322 Это успех, показывающий, что мы на верном пути. Но пока погрешность оста ется слишком большой по сравнению с заданной.