20
Не беда, что нет функций
А. И. ПРИВЕНЬ
— Папа, ты знаешь, Маше Сидоровой родители купили новеньку «Электронку БЗ-36» с функциями. И у других ребят она есть…
— А что, твой «Электронка БЗ-30» плохо работает?
— Работать-то она работает, но на ней же нет функций: только арифметические действия делает, и корни изображает. А у нас в девятом классе всё снусы и косинусы, логарифмы, показательные функции. Не носить же мне всюду с собой таблицы Брадиса!
— Не беда, что нет функций. Ты же у нас математиком хочет быть, значит сообщать должа. Ряд Тейлора на крупке вам расссказывали? Ну тогда слушай…
Как соччитать логарифм
Сначала немного теории. Ты, конечно, знаешь, что
Это равенство с достаточно точностью выполняется, если близко к 0. Тогда получаем , или , откуда
(1) то есть, отпав от числа единицу, получим его натуральный логарифм. А как быть с большими числами?
Довольно просто. Ведь
Если достаточно велико (о конкретных значениях поговорим позже), то и .
На машине вычисляется легко, если — достаточно лишь раз нажать на клавишу . А затем для нахождения исходного логарифма нужно вычесть единицу и умножить на соответствующее двойки:
Осталось лишь найти оптимальное значение . Из равенства (1) вытекает
то есть
Что бы оценить точность этого равенства, воспользоваться формулой Тейлора*. Нам достаточно трех первых членов:
В нашем случае ; ;
то есть ;
остальные члены при можно отбросить.
Таким образом, погрешность формулы (3) примерно равна . Зададимся величины погрешности . Это наиболее величины, которые не сказываются на показании 8-разрядного калькулятора.
Далее просто: , . Это значение должно обеспечить минимум погрешности. Так, значение , вычисленное по формуле , равно 0,693207 вместе табличного 0,693147.
Однако тутсказывается один чисто «машинный» эффект: извлечение корня (как и другие вычисления) проводится с недостатком в последнем знаке, и эта ошибка с каждым разом увеличивается. В конце концов она перекрывает величины , и формула для становится непримемой. Этот эффект заменено сказывается при , где — число извлечений корня. В результате тот же , вычисленный по той же формуле на микрокалькуляторе БЗ-30, равен 0,69263… По-
*) О формуле Тейлора см. статью В. Р. Почуева в предыдущем номере «Квана».
21
этому в случае целесообразно принять .
Тот же ln 2, вычисленный на той же машине при , равен 0,69304 с относительной ошибкой 0,014 %.
Итак, мы нашли алгоритм вычисления ln :
Для достаточно точные результаты дает выражение
где .
Как считать показательную функцию
Для вычисления функции преобразуем выражение, полученное для ln . Мы имеем ln , при большом , значит,
Сделав замену , получим и поэтому
Чтобы быстро пользоваться этим соответствием на простейшем калькуляторе, желательно превращать его в целочичный алгоритм, то есть такой алгоритм, при котором не нужно записьать промежуточные результаты. Для этого возведение в степень (или раз в квадрат) и нужно выполнять, повторяя последовательность команд для модели B3-30 или
для модели типа B3-14. При этом результат все время остается во «временной памяти» калькулятора, и поэтому не нужно вновь вводить в машину после каждойтерации. Таким образом, алгоритм нахождения выглядит так (ниже — это натуральное число, притом ):
Вычисление функции отличается лишь тем, что после набора результат умножается на ln .
Осталась функция . Продолжарифмируем ее:
Отсюда по формуле (4)
Формула (5) представляется программой:
Как считать тригонометрическе функции
Здесь формула Тейлора дает два удобных выражения для синуса и косиуса
Первое выполняется достаточно при ; то же можно сказать и о втором. Величина начинает заметно сказаться при , при можно упростить формулу для cos , отбросив третьей член:
Ограничение не опасно, так как тригонометрические функции всегда можно привести к аргументу, меньше .
Как видить, совсем немного математики — и простейший микрокалькулятор становится приготовным для вычисления практических всех «школьных» функций.