Курсовая работа
  • формат pdf
  • размер 100,59 КБ
  • добавлен 11 января 2014 г.
Вещественный тип. Приближенные вычисления
Цель работы
Составить программу на Си, которая печатает таблицу значений элементарной функции, вычисленной двумя способами: по формуле Тейлора и с помощью встроенных функций языка программирования. В качестве аргументов таблицы взять точки разбиения отрезка [a, b] на n равных частей (n + 1 точка, включая концы отрезка), находящихся в рекомендованной области хорошей точности формулы Тейлора. Вычисления по формуле Тейлора проводить по экономной в сложностном смысле схеме с точностью ε×k, где ε — машинное эпсилон аппаратно реализованного вещественного типа для данной ЭВМ, а k — экспериментально подбираемый коэффициент, обеспечивающий приемлемую сходимость. Число итераций должно ограничиваться сверху числом порядка
100. Программа должна сама определять машинное ε и обеспечивать корректные размеры генерируемой таблицы.
Алгоритм решения задачи
Сначала найдем машинное эпсилон, с помощью функций epsilon и findent. Алгоритм нахождения следующий: 1) на входе в цикл eps равно 1, 2) делим eps на 2 до тех пор, пока предикат (1 + eps/2) 1 дает значение ИСТИНА . Функция findent нужна чтобы вычислять машинное эпсилон для типа данных float, а не для регистра процессора, так как его размер часто превышает 64 бита, то можно получить совершенно неправильное значение. После этого в переменную prec запишем количество точных бит.
Границы отрезка и шаг «по отрезку» задаются как целые числа, равные своим вещественным аналогам, помноженным на
100. Это дает отсутствие погрешности на каждом шаге цикла. Количество итераций k = 23 для ряда Тейлора, дающее достаточную точность, было получено подбором значения. В теле цикла:
1) Находим значение x = i/100, где I – счетчик цикла.
2) Находим значение функции через встроенные средства языка.
3) Вычисляем значение функции через ряд Тейлора с использованием схемы Горнера.
4) Значение функции через ряд Тейлора умножаем на вынесенные за скобки 2х.
5) Вывод полученных значений.
Замечание по поводу вывода, так как в программе используется схема Горнера, то значение функции вычисляемое через ряд Тейлора, имеет смысл проверять на точность вычислений, только на последнем шаге цикла. Поэтому в выводе отсутствует столбец количества итераций.
Студент: Ашайкин Ф. И. из 8O-101Б.
Преподаватель: Никитин И. К.
МАИ. Факультет прикладной математики.
Кафедра вычислительной математики и программирования. 2013 г.
Похожие разделы