Муниципальное образовательное учреждение дополнительного Методический центр «Раменский дом учителя»



  • Как научиться
  • Уроки начинающим
  • _empty_
  • Новости
  • Статьи

    Главная Новости

    Вычисление математических функций в j2me (exp, ln, log, arcsin, arccos, arctn, power, root)

    Опубликовано: 19.10.2017

    Конфигурация CDLC 1.1 позволяет работать с вещественными числами, поддерживая тип double . Однако стандартная библиотека Math включает в себя очень скудный набор математических функций: sin ,cos , tan ,sqrt . Существует несколько сторонних математических классов (например, Real .java , которую можно скачать по адресу http://sourceforge.net/projects/real-java ). В этой статье я предлагаю написать собственную реализацию нескольких популярных математических функций.

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

    Вычисление Экспоненты

    Из курса математического анализа известно, что экспоненту можно представить в виде бесконечного ряда

    .

    При этом, чем больше аргумент x, тем больше слагаемых требуется брать для удовлетворения требуемой точности. При x>706 exp (x ) не умещается в переменную типа double , поэтому перед вычислением экспоненты целесообразно проверить значение xна превышение порогового предела. Для реализации эффективного алгоритма вычисления экспоненты, нужно воспользоваться известным из курса школьной алгебры фактом:

    Новости

    rss