Вычисление элементарных функций
Категория реферата: Рефераты по радиоэлектронике
Теги реферата: реферат легкая атлетика, диплом на заказ
Добавил(а) на сайт: Витвинин.
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата
Задача проектирования алгоритма вычисления элементарной функции сводится к нахождению алгоритма приведения аргумента к интервалу аппроксимации и выбору численного метода для приближенного вычисления значений этой функции на интервале аппроксимации. Приведение аргумента к интервалу аппроксимации является обязательным этапом как при использовании итеративных методов вычисления элементарных функций, так и при многочленной и рациональной аппроксимации. Этот прием позволяет сократить число операций необходимых для вычисления значения элементарной функции за счет уменьшения количества итераций или использования многочленных и рациональных приближении, содержащих сравнительно небольшое число членов.
Способ уменьшения интервала изменения аргумента зависит от свойств
функции. Если функция периодическая, то имеет смысл вычислять ее только на
одном периоде изменения аргумента. Если функция симметричная, то это
свойство также можно использовать для уменьшения интервала. Существует
распространенный прием уменьшения диапазона изменения аргумента, который
основывается на использовании теорем сложения и умножения элементарных
функций. Одним из наиболее простых и универсальных приемов является
разбиение всего диапазона изменения на ряд интервалов (сегментная
аппроксимация). Обычно аргумент приводят к интервалу [- 1, 1 ] или [ 0, 1].
Такой выбор объясняется наилучшей изученностью поведения функции на этих
интервалах, возможностью работы в режиме с фиксированной точкой, наличием
точки нуль, которая для многих функций является осью симметрии, и тем, что
на данных отрезках существуют ортогональные многочлены.
Этапы приведения аргумента к интервалу аппроксимации и постаброботки специфичны для каждой элементарной функции и мало зависит от выбранного метода вычислений. Наибольшую часть выполнения которого зависит прежде всего от выбранного метода вычисления элементарной функции. Метод должен обладать высокой скоростью сходимости и требовать для своей реализации минимального количества арифметических операций, обеспечивать заданную точность вычисления значений элементарной функции, быть универсальным.
Метод вычисления элементарных функций можно разделить на две группы: алгоритмические и таблично алгоритмические. Методы первой группы основаны на чисто алгоритмических приемах вычислений, которые начинаются “с нуля” и вследствие этого требуют значительных затрат машинного времени. К ним относятся и терационные, полиномиальные методы, в том числе, степенные ряды и др.
Отличительной особенностью таблично алгоритмических методов является использование в той или иной мере предварительно вычисленных табличных значений. Эти методы находят широкое применение для программной и аппаратурной реализации.
4. Теоретические основы таблично алгоритмического метода
В основе методов, основанных на применении таблиц, лежит разбиение
интервала аппроксимации на промежутки h (шаг таблицы), длина которых
выбирается пропорционально основанию используемой системы счисления.
Значения функций, подлежащей реализации, предварительно вычисляются для
концов промежутков и заносятся в таблицу, роль которой выполняет ПЗУ.
Однако данный подход кроме значительной емкости ПЗУ трудно реализовать
вследствие значительности объема предварительных вычислений.
В связи с этим широкое применение в настоящее время нашли таблично алгоритмические методы вычислений, сочетающие поиск по таблице с грубым значением аргумента и введением поправок на точное значение. При определении поправки, характерной для данных методов, может использоваться следующая формула:
[pic]F(x)=F(xs+( xn-s)= F(xs)+Ф(( xn-s, xs),
где xs – s-разрядный код старшей части аргумента Х,
0(( xn-s0.5; writeln(' x X f(x) F(x) E Ev
Em'); readln; gd:=detect; initgraph(gd,gm,'c:languagebpbgi'); cleardevice; floodfill (0,0,white); setcolor(black); line(0,0,0,480); line(0,240,640,240); work:=0; xnext:=1; xprev:=0; y2next:=240; y1prev:=240-trunc((exp(work)-exp(-work))*120);y2prev:=240; y3prev:=240;y4prev:=240; repeat begin work:=work+h/4; fxn:= (exp(work)-exp(-work))/2; y1next:=240-trunc(fxn*240); setcolor(green); line(xprev,y1prev,xnext,y1next); y1prev:=y1next;
Xm:=trunc(work*Mx);
F:=Fx(masFx,masFhx,Xm,ad); e:=fxn-F/Mf; y2next:=240-trunc(e*240); setcolor(cyan); line(xprev,y2prev,xnext,y2next); y2prev:=y2next;
fz:=masfxs[ad]+(work-x[ad])*masfhxs[ad]; ev:=fz-F/Mf; y3next:=240-trunc(ev*240); setcolor(magenta); line(xprev,y3prev,xnext,y3next); y3prev:=y3next;
em:=e-ev; y4next:=240-trunc(em*240); setcolor(lightgray); line(xprev,y4prev,xnext,y4next); y4prev:=y4next;
xprev:=xnext; xnext:=xnext+trunc(64*work); end; until work=0.5; setcolor(green); outtextxy(0,470,'f(x)'); setcolor(cyan); outtextxy(40,470,'E'); setcolor(magenta); outtextxy(60,470,'Ev'); setcolor(lightgray); outtextxy(90,470,'Em'); readln; end.
9. Результаты работы программы
0.1563 20 0.1569 12 -0.0306 -0.0307 0.0001
0.1719 22 0.1727 14 -0.0460 -0.0462 0.0002
0.1875 24 0.1886 12 0.0011 0.0011
0.0000
0.2031 26 0.2045 14 -0.0142 -0.0142 0.0000
0.2188 28 0.2205 16 -0.0295 -0.0296 0.0001
0.2344 30 0.2365 18 -0.0447 -0.0449 0.0002
0.2500 32 0.2526 16 0.0026 0.0026
0.0000
0.2656 34 0.2688 18 -0.0125 -0.0125 0.0000
0.2813 36 0.2850 20 -0.0275 -0.0277 0.0001
Рекомендуем скачать другие рефераты по теме: allbest, реферат экспертиза, реферати українською мовою.
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата