[an error occurred while processing this directive]
|
давайте сначала определимся о чем тогда идет речь?
если все число записывается в 12 бит то положительные числа будут от 0 до 7ff а отрицательные от fff до 800
теперь встает вопрос поскольку число положительных чисел не равно числу отрицательных чисел то какую синусоиду хотят получить ?
симметричную или нет?
если синусоида нужна симметричная то надо учесть что значение 0 не будет соотвествовать числовому значению 0 !!! поскольку дробить бит еще не научились ;-( иначе будут возникать неравенства интеграла при больших периодах интегрирования - тоесть интеграл синуса за период не будет равен нулю- и дальше уже исходя из важности или не важности этого факта и соотвественно требований по задаче формируют синус
при написании программы необходимо также учесть что в целочисленной арифметике происходит не округление чисел а отбрасывание дробной части что также может привести к потере точности
после рассмотрения этих аспектов необходимо при постановке задачи определиться что имееттся ввиду под табулированием функции и какие аспекты функции наиболее важны
потому что точность 12 бит не очень придется выбирать между максимальным значением функции и равенству интегралов полу периодов
если конечно у пользователя есть желание использовать все 12 бит
если же 12 битную сетку не использовать полностью то задача существенно упростится - поскольку симметричность становится легко достижима но тогда одно значение никогда не будет использовано ;-)
итак что же мы выбираем?
E-mail: info@telesys.ru