Проектирование алгоритма вычисления элементарной функции с использованием таблично-алгоритмического метода - Программирование, компьютеры и кибернетика курсовая работа

Проектирование алгоритма вычисления элементарной функции с использованием таблично-алгоритмического метода - Программирование, компьютеры и кибернетика курсовая работа





































Главная

Программирование, компьютеры и кибернетика
Проектирование алгоритма вычисления элементарной функции с использованием таблично-алгоритмического метода

Разработка MatLab-программы для анализа вычислительной и методической погрешностей целочисленного алгоритма. Теоретические основы таблично-алгоритмического метода. Проектирование подпрограммы вычисления элементарной функции на языке Ассемблер IBM PC.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1. Выполнить проектирование алгоритма вычисления элементарной функции с использованием таблично-алгоритмического метода в соответствии с заданным вариантом. Алгоритм предназначен для целочисленных вычислений в дополнительном коде в формате «байт со знаком».
2. Выполнить расчет параметров алгоритма.
3. Выполнить масштабирование алгоритма и получить целочисленный алгоритм вычисления заданной функции.
4. Разработать MatLab-программу для экспериментального анализа полной, вычислительной и методической погрешностей целочисленного алгоритма.
5. Используя разработанную программу, получить значения элементарной функции, а также методической, инструментальной и полной погрешностей целочисленного алгоритма для текущих значений аргумента из заданного интервала аппроксимации. Построить графики указанных величин на интервале аппроксимации.
6. Разработать блок-схему подпрограммы вычисления элементарной функции по разработанному алгоритму в целочисленном формате данных.
7. Разработать подпрограмму вычисления элементарной функции на языке Ассемблер IBM PC, реализующую разработанный алгоритм.
8. Сопоставить экспериментальные значения погрешностей с их теоретическими оценками и сделать выводы.
1. Теоретические основы таблично-алгоритмического метода
2. Постановка задачи проектирования алгоритма вычисления функции
5. Блок-схема модели для экспериментального анализа погрешностей алгоритма
8. Подпрограмма вычисления функции на языке Ассемблер IBM PC
Функции одного аргумента, значения которых получаются с помощью конечного числа вычислительных операций над аргументом, зависимой переменной и постоянными числами, называются элементарными.
Для того чтобы вычислить функцию на всем интервале аргумента, выполняются следующие действия:
значения аргумента приводятся к интервалу аппроксимации;
вычисляются значения элементарной функции для приведенного значения аргумента;
выполняется постобработка полученного значения функции.
Существующие методы вычисления элементарных функций можно разделить на три вида:
В случае алгоритмического метода элементарная функция вычисляется, как правило, с помощью степенного многочлена. Данный метод требует минимального объема памяти, но занимает значительное время вычислений. В случае табличного метода значения функции вообще не вычисляются, поскольку для всех возможных значений аргумента в памяти компьютера хранятся готовые значения функции в виде таблицы. Это самый быстрый метод, но при увеличении разрядности аргумента объем таблицы становится чрезмерно большим. В основу таблично-алгоритмического метода также положена таблица значений функции, но она строится не для всех значений аргумента, а для ограниченного ряда табличных значений. Если текущее значение аргумента отличается от табличного, то из таблицы извлекается ближайшее грубое значение функции, а затем вычисляется поправка по одному из численных методов. Таблично-алгоритмический метод сочетает в себе достоинства первых двух методов и получил наибольшее распространение в микропроцессорах и микроконтроллерах. Вычисление значений элементарных функций один из наиболее часто встречающихся типов математических операций, выполняемых в микроконтроллерах при решении задач управления движением роботов-манипуляторов, навигации, стабилизации, цифровой фильтрации и т.д. Общая доля этих операций может составлять 3-5%, а время, которое требуется для их программной реализации, 50% времени решения всей задачи.
В этой связи приобретает важное значение разработка алгоритмов вычисления элементарных функций для их программной и аппаратной реализации в микропроцессорах и микроконтроллерах.
1 . Теоретические основы таблично-алгоритмического метода
В основе таблично-алгоритмического метода лежит разбиение интервала аппроксимации функции f(x) на равные промежутки величиной h (рис.1):
Рис.1. Разбиение интервала аппроксимации
В результате разбиения образуются значения аргумента x s , которые в дальнейшем называются табличными. Для каждого x s вычисляется значение функции f(x s ), которое также называется табличным. Полученные значения x s и f(x s ) сводятся в таблицу, которая размещается в памяти компьютера (рис.2). Если таблично-алгоритмический метод использует и производные вычисляемой функции, то аналогичным образом формируется таблица значений производных. Табличные значения функции и производных получают один раз на этапе разработки алгоритма.
Рис.2. Таблица значений аргумента и функции
В дальнейшем вычисление функции f(x) для произвольного значения x на интервале аппроксимации от x min до x max выполняется следующим образом. Сначала определяется интервал разбиения x s x x s+h , в котором находится значение x. С этой целью вычисляется индекс таблицы i, который является адресом табличных значений x s и f(x s ):
где [] ц оператор округления до целого значения с недостатком. После этого искомое значение функции вычисляется по алгоритму
где ц(x s ,x) это поправка, которая уточняет табличное значение функции f(x s ); x=x x s разность между текущим и табличным значением аргумента, причем x max = h.
В частности, поправку ц(x s ,x) можно вычислить, используя метод линейной интерполяции. Тогда алгоритм (2) принимает следующий вид:
f(x)=f(x s )+ (x x s )•[ f(x s +h) f (x s )]/h= f(x s )+ x •[ f(x s +h) f (x s )]/h, (3)
где f(x s +h) соседнее табличное значение функции.
Вычисление функции по алгоритму (3) можно представить графически (рис.3):
вычислительный погрешность алгоритмический ассемблер
Из рис.3 видно, что поправка ц(x s ,x) определяется как неизвестный катет прямоугольного треугольника по известному катету
x=xx s и tg()=[ f(x s +h) f (x s )]/h.
Алгоритм (3) обладает методической погрешностью
е м ? x(x h) • |f (2) | max / 2 , (4)
где |f (2) | max максимальный модуль второй производной на интервале аппроксимации.
Таким образом шаг h является главным параметром алгоритма, который определяет величину методической погрешности.
2 . Постановка задачи проектирования алгоритма вычисления функции
Одной из задач проектирования алгоритмов таблично-алгоритмического метода является удовлетворение требований по времени и точности вычисления элементарной функции.
Требование по времени вычислений можно выполнить, ограничивая такие параметры численного метода вычисления поправки, как число членов ряда, полинома, цепной дроби или количество итераций и т.п. При этом учитывается время выполнения в микроконтроллере арифметических, логических и прочих операций, необходимых для реализации алгоритма. В курсовой работе обеспечивается минимальное время вычислений путем задания одного из простейших методов вычисления поправки.
Требуемая точность вычислений может задаваться в виде относительной погрешности или опосредованно через разрядность представления данных в микроконтроллере, как в данной курсовой работе. Ниже приводится методика удовлетворения требования по точности вычислений для последнего случая.
Проектируемый алгоритм обладает полной погрешностью, значение которой можно представить в виде суммы
где е м методическая погрешность; е в вычислительная (инструментальная) погрешность, которая зависит от разрядности данных, количества, типа и последовательности операций, составляющих алгоритм (а также от выбранных масштабов в случае вычислений в целочисленном формате данных). Для удовлетворения требования по точности вычислений устанавливается следующее соотношение между методической и вычислительной погрешностями в виде баланса:
Погрешность е в можно оценить аналитически. Однако такая оценка получается громоздкой и слишком грубой. Задачу можно упростить, если вместо исходного баланса (5) потребовать более жесткий баланс погрешностей:
где е 0 погрешность представления переменных в целочисленном формате данных, причем
е 0 ? 1/2М f = |f| max / 2(2 n 1 1), (7)
где М f - масштаб функции f(x); n - разрядность. Заметим, что оценка е в ?е 0 близка к реальной, поскольку количество арифметических операций в алгоритме (3) исчисляется единицами.
Для большинства элементарных функций на интервале аппроксимации выполняется равенство |f| max ?1, тогда получаем:
Подставив в (6) оценку (4) для е м и оценку (8) для е 0 , получаем баланс погрешностей в виде
x(x h) • |f (2) | max / 2 ? 2 n . (9)
Левая часть данного соотношения достигает максимального значения при x =h/2. Поэтому в окончательном виде баланс погрешностей принимает вид
h 2 • |f (2) | max / 8 ? 2 -n . (10)
Баланс (10) позволяет найти шаг таблицы h, исходя из заданной разрядности формата данных n.
Для нахождения шага таблицы представим его в виде h=2 -s . Тогда из баланса (10) получаем
s ? [n + log 2 |f (2) | max 3]/2. (11)
Параметр s, найденный из (11), округляется до целого значения с избытком.
Данный параметр обеспечивает баланс методической и вычислительной погрешностей алгоритма. Кроме того, он определяет не только шаг таблицы h=2 -s , но и количество табличных значений функции f(x), равное 2 s .
Так как разрядность n известна, то для нахождения параметра s по формуле (10) необходимо определить максимальный модуль второй производной |f (2) | max на интервале аппроксимации. Для этого достаточно построить график второй производной (например, с помощью программы MatLab (рис.4).
Из полученного графика второй производной находим |f (2) | max = 0.707. Тогда, учитывая, что n=8, из (11) находим s ?2,75. При округлении с избытком s=3. Тогда можно рассчитать шаг таблицы h=2 -s =2 -3 =0.125.
Для выполнения вычислений в целочисленном формате данных любую вещественную величину (целые числа, правильные и неправильные дроби) необходимо представить в виде целого числа, которое можно разместить в заданном n-разрядном формате. Последнее можно достигнуть, выполнив масштабирование алгоритма. Найдем масштабы для величин x, f(x), f(x s ), f(x s +h), x s ,x и h, входящих в алгоритм (3). При этом будем исходить из форматов целочисленных аналогов этих величин X, F(X), F(X s ), F(X s +H), X s , X и H, приведенных на рис.5.
Величины f(x), f(x s ) и f(x s +h), имеют общий масштаб
где |f| max определяется из графика функции на интервале аппроксимации.
Величины x, x s ,x и h также имеют общий масштаб
Масштабирование алгоритма (3) сводится к замене исходных вещественных величин эквивалентными отношениями соответствующих целочисленных значений к масштабам и приведению подобных. Учитывая, что H =2 (n-s-1) , алгоритм (3) после масштабирования можно представить в виде
F(X) = F(X s ) +2 (n-s-1) •X •(F(X s +H) F(X s )). (14)
Тогда из (14) вытекает следующий целочисленный алгоритм:
F(X) = F(X s ) + [ 2 - 4 ( X •(F(X s +H) F(X s ) ) ] ц 1/2 , (15)
где [] ц 1/2 - оператор округления до целого значения по 1/2.
На рис.5 приведены форматы целочисленных величин, входящих в алгоритм (15).
Рис.5. Форматы целочисленных величин
5. Блок-схема модели для экспериментального анализа погрешн о ст ей алгоритма
Приведенная ниже модель обеспечивает нахождение полной е, методической е м и вычислительной (инструментальной) е в погрешностей целочисленного алгоритма вычисления функции для текущих значений аргумента x из интервала аппроксимации.
В данном разделе приводится MatLab-программа, реализующая рассмотренную выше модель для экспериментального анализа полной е, методической е м и вычислительной (инструментальной) е в погрешностей целочисленного алгоритма вычисления функции.
Листинг программы выглядит следующим образом:
%Вычисление табличных значений аргумента и функции с шагом h
xs = 0.5:h:1; %таблица значений аргумента
fs = sqrt(xs); %таблица значений функции
XS = round(xs*Mx); %таблица целочисленных значений аргумента
FS = round(fs*Mf); %таблица целочисленных значений функции
%Вычисление текущих значений функции с шагом h/4
subplot(5,1,1); plot(x,fx,'g') %график функции
i = floor((x-0.5)/h) +1; %значение индекса
%Вычисление не масштабированных значений функции
f(j) = fs(i(j))+(x(j)-xs(i(j)))*((fs(i(j)+1)-fs(i(j)))/h);
%Вычисление значений функции по целочисленному алгоритму
F(j) = FS(i(j))+ round(2^-4*(X(j)-XS(i(j)))*(FS(i(j)+1)-FS(i(j))));
%Демаcштабирование значений функции
title 'Graphic methodich pogreshnosti';
subplot(5,1,5); plot(x,e_instr,'-k');
title 'Graphic instrum pogreshnosti';
Ниже изображены графики соответственно функции, полной е, методической е м и вычислительной (инструментальной) е в погрешностей, полученные в результате выполнения MatLab-программы.
1. В данной работе было выполнено проектирование алгоритма вычисления элементарной функции с использованием таблично-алгоритмического метода в соответствии с заданным вариантом.
2. Разработана MatLab-программа для экспериментального анализа полной, вычислительной и методической погрешностей алгоритма.
3. Получены экспериментальные значения элементарной функции, полной, вычислительной (инструментальной) и методической погрешностей.
4. Анализируя полученные значения погрешностей можно сделать вывод о том, что разработанный алгоритм удовлетворяет требованиям технического задания, баланс погрешностей выполняется.
Список использованных источн и ков
1. Попов Б.А., Теслер Г.С. Вычисление функций на ЭВМ. Справочник Киев: Наукова думка, 1984. 599 с.
2. Ледовской М.И., Пьявченко О.Н. Методическое руководство к курсовой работе «Проектирование алгоритмов математических операций для микроЭВМ» по курсу «Основы обработки данных и моделирования» Таганрог: Изд-во ТРТУ, 1999. 30 с.
3. Ледовской М.И. Методическое руководство к выполнению лабораторных работ на модульной основе с диагностико-квалиметрическим обеспечением по дисциплине «Алгоритмические основы математических операций» Таганрог: Изд-во ТТИ ЮФУ 2009. 20 с.
4. Конспект лекций по курсу «Алгоритмические основы математических операций ч.2».
Структура языка Паскаль, встроенные процедуры и функции. Составление алгоритма решения уравнения, описывающего работу кривошипно-шатунного механизма, с помошью метода итерации, метода Гаусса и метода Зейделя. Блок-схемы алгоритмов и текст программы. курсовая работа [64,6 K], добавлен 07.05.2011
Особенности работы в режиме командной строки в системе Matlab. Переменные и присваивание им значений. Комплексные числа и вычисления в системе Matlab. Вычисления с использованием функции sqrt. Неправильное использование функций с комплексными аргументами. дипломная работа [1,9 M], добавлен 30.07.2015
Понятие алгоритма, его свойства. Дискретность, определенность, результативность, формальность как свойства алгоритма. Программа как описание структуры алгоритма на языке алгоритмического программирования. Основные структурные алгоритмические конструкции. реферат [1,3 M], добавлен 18.11.2010
Разработка линейной программы на языке С++. Разработка программ с разветвленной структурой. Составление по заданному варианту схемы алгоритма и программы вычисления тригонометрической функции с абсолютной погрешностью с использованием разложения в ряд. лабораторная работа [1,2 M], добавлен 12.01.2011
Разработка вычислительной системы, предназначенной для реализации заданного алгоритма обработки входных цифровых данных. Особенности ее построения на базе процессора x86 (К1810) в минимальном режиме. Описание микропроцессорного комплекта серии К1810. курсовая работа [318,4 K], добавлен 15.08.2012
Методы вычисления точных вероятностей в покере. Проектирование алгоритма нахождения вероятности выигрыша для нескольких игроков. Теоретический расчет вероятности выигрыша в игре. Программная оптимизация и упрощение алгоритмов вычисления вероятностей. курсовая работа [96,1 K], добавлен 17.06.2013
Исследование понятия алгоритма, особенностей линейных и разветвляющихся алгоритмов. Свойства алгоритма: понятность, точность, дискретность, массовость и результативность. Составление программы для вычисления значения функции и построение её графика. контрольная работа [278,0 K], добавлен 25.03.2013
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Проектирование алгоритма вычисления элементарной функции с использованием таблично-алгоритмического метода курсовая работа. Программирование, компьютеры и кибернетика.
Реферат по теме Кредитно-денежная политика в Узбекистане
Курсовая работа: Нетрадиционные методы развития и коррекции речи детей 5–6 лет
Понятие И Признаки Финансовых Пирамид Реферат
"Риторика" Аристотеля
Реферат На Тему Случаи Протекания Процесса Роста Ассоциации Двух Микроорганизмов
Сочинение Памятник Культуры Храм Покрова На Нерли
Реферат: Трудові ресурси України
Контрольная работа: Понятие, сущность и основные признаки политической демократии
Доклад: Модель успеха
Реферат: Hands Essay Research Paper Wineburg OhioWinesburg Ohio
Доклад по теме За что я люблю Modern Talking
Курсовая работа по теме Бурение эксплуатационной наклонно-направленной скважины на Озерной площади
Реферат: Научные основы экономики. Скачать бесплатно и без регистрации
Реферат по теме Язык рисует Интернет
Доклад: Посейдон и божества моря
Реферат: Спутниковое вещание. Скачать бесплатно и без регистрации
Де Эссе Сумки
Реферат: Исследование интеллекта
Реферат: Вопрос бессмертия. Скачать бесплатно и без регистрации
Контрольная работа: Возрастная физиология и психофизиология
Речі, як об'єкти цивільного права - Государство и право курсовая работа
Современное социально–политическое состояние России и ее будущее - Политология реферат
Смоляне в окружении А. Пушкина - Литература реферат


Report Page