Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Вычисление тригонометрических функций





На базе тригонометрической функции проведем анализ процесса вычислений и выявим некоторые их особенности.

Запишем разложение в ряд синуса угла (угол в радианах):

.

Несмотря на то, что этот ряд сходится при любом значении «х», следует учитывать, что синус (как и косинус) – функция периодическая, т.е. значения повторяются через 2π и по существу надо писать:

.

Отсюда следует вывод: в программе вычисления синуса (косинуса) первоначально выделяется значение аргумента, меньше 2π. Если исходное значение аргумента Х, то надо вычислить

.

С целью анализа проблем точности вычислений примем несколько значений х=0,1; 1,0; 2,0.

Примем х=0,1, что эквивалентно φ=5044I. Тогда значение синуса можно определить из ряда:

.

Видно, что для достижения желаемой точности вычислений можно использовать различное количество членов ряда. Даже, если принять sinx=x, то при данном значении аргумента погрешность(относительная) составит всего десятые доли процента. Кроме того, заметно снижение порядка каждого последующего слагаемого на 3-4 единицы, что говорит об очень быстрой сходимости ряда.

Примем х=1, т.е. угол равен φ=57018I. Табличное значение sin1=0,84147103.

Полезно проследить динамику изменения суммы в зависимости от количества слагаемых:

- два слагаемых дают результат 0,83333(3) (одна верная цифра);

- три слагаемых дают результат 0,841334 (три верные цифры);

- четыре слагаемых дают результат 0,841356 (три верные цифры);

- пять слагаемых дают результат 0,841383 (три верные цифры).

Видно, что даже на пяти слагаемых ряда получены только три верные цифры, что позволяет ставить вопрос о необходимом количестве членов ряда (см. ниже).

Примем х=2, т.е. угол равен φ=115040I. Табличное значение sin2=0,90929745.

.

Динамика изменения суммы почленно следующая:

- два слагаемых дают результат 0,666666(6) (нет верных цифр);

- три слагаемых дают результат 0,933332 (одна верная цифра);

- четыре слагаемых дают результат 0,9079359 (две верные цифры);

- пять слагаемых дают результат 0,9093468 (три верные цифры);

- шесть слагаемых дают результат 0,9092955 (пять верных цифр).

Видно, что три верных цифры после запятой дают пять членов ряда, но уже шестое слагаемое позволит получить пять верных цифр. Заметно, что погрешность вычислений является функцией прежде всего значения аргумента. Тогда возникает вопрос – каков массив ряда заложен в процедуру счета, например, периодической функции в данном языке. Информация на этот счет отсутствует, так как библиотека языка не раскрывается разработчиком.

Однако следует обратить внимание еще на одно обстоятельство. Если переменная «х» вводится с конечной погрешностью, то она в ходе многократных вычислений будет накапливаться по правилам теории погрешностей. Например, в ряду синуса уже в шестом слагаемом мы видим х11. Это означает, что относительная погрешность этого вычисления будет примерно в 10 раз больше первичной погрешности переменной «х». Кроме того мультипликативно накапливающаяся погрешность складывается. Возможность повышения точности вычислений кроется в увеличении разрядности ячейки и в программной части специальной вычислительной операции.

На приведенных примерах можно видеть принципиальное различие между применением рекуррентной формулы для вычислений и рядов. В первом случае вычисления выполняются по циклической программе, а, следовательно, точность вычислений (количество значащих цифр) будет зависеть от индекса цикла. Во втором случае (применение рядов)алгоритм не содержит циклов, а точность вычислений будет зависеть от количества членов ряда функции. Различие велико. Так как дробная часть числа вызывает изменение мантиссы с конца, то, сравнивая два последних вычисления, можно отслеживать разряд верной цифры.

 

Date: 2016-07-18; view: 458; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию