* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
482
Приближение функций и прогноз
6.2.9. Наилучшая минимаксная аппроксимация по алгоритму Ремеза
Для получения наилучшей полиномиальной аппроксимации используется алго ритм Ремеза, который в Maple реализуется следующей функцией:
remez(w, f, a, b, m, n, crit, 'maxerror')
Здесь w – процедура, представляющая функцию w(x) > 0 в интервале [a, b], f – процедура, представляющая аппроксимируемую функцию f(x), a и b – числа, за дающие интервал аппроксимации [a, b], m и n – степени числителя и знаменателя аппроксимирующей функции, crit – массив, индексированный от 1 до (m + n + 2) и представляющий набор оценок в критических точках (то есть точках максиму ма/минимума кривых погрешности), maxerror – имя переменной, которой при сваивается минимаксная норма w abs(f – r). Следующий пример иллюстрирует применение данной функции для аппрок симации функции erf(x):
> Digits:=12:w:=proc(x) 1.0 end;
w := proc(x) 1.0 end proc
> f:=proc(x) evalf(erf(x)) end;
f := pros(x) evalf(erf(x)) end proc
> crit:=array(1..7,[0,.1,.25,.5,.75,.9,1.]);
crit := [0, .1, .25, .5, .75, .9, 1.]
> remez(w,f,0,1,5,0,crit,’maxerror’);
x > 0.0000221268863 + (1.12678937620 + (0.018447321509 + (–0.453446232421 + (0.141246775527 + 0.00966355213050x)x)x) x)x
> maxerror;
0.0000221268894463
6.2.10. Другие функции пакета numapprox
Отметим назначение других функций пакета numapprox: • chebdeg(p) – возвращает степень полинома Чебышева p; • chebmult(p, q) – умножение полиномов Чебышева p и q; • nhebsort(e) – сортирует элементы ряда Чебышева; • confracform(r) – преобразует рациональное выражение r в цепную дробь; • confracform(r, x) – преобразует рациональное выражение r в цепную дробь с независимой переменной x; • hornerform(r) – преобразует рациональное выражение r в форму Гор нера; • hornerform(r, x) – преобразует рациональное выражение r в форму Горнера с независимой переменной x;