Макрос ячейки памяти числа с плавающей запятой и стек-очередь на базе его .
Макрос ячейки памяти числа с плавающей запятой и стек-очередь на базе его .
электронщик до мозга костей и не только
Проба пера, макрос SIN ус ,с использованием функций с плавающей запятой с использованием рядов .Угол задается в градусах от 0 до 360.
электронщик до мозга костей и не только
Во ,AI подошел ,сейчас упростит синус ,мастак по математике.
электронщик до мозга костей и не только
тссс.....
я тут инкогнито
-------------
PS программеры обычно считают косинус с помощью итераций, через формулу половинного угла...
Последний раз редактировалось AI!; 21.10.2011 в 19:18. Причина: пс...
Схема макроса усредняющего частотомера (с цифровой фильтрацией по методу скользящего окна),на вход I -подаются импульсы, по входу Т задается время периода счета .на выходе значение частоты (с плавающей запятой) ,если Т=1000мс ,то частота в герцах.
Последний раз редактировалось rovki; 20.10.2011 в 15:58.
электронщик до мозга костей и не только
дело в том, что упрощение с точки зрения процессора не всегда упрощение с точки зрения человека...
но по "просьбам телезрителей" решил попробовать сделать.
причём этот вариант должен легко переделываться в вариант без вещественной арифметики...
т.е. если его смоделировать как "фиксированная точка" на ПР только с целочисленной арифметикой.
---------------------
т.к. вариант сильно экспериментальный (или "проба пера")
то имеет много ограничений и особенностей
1) угол задаётся двоично с помощью соответствующих входов ПР
(удобно быстро менять аргументы для тестирования)
2) угол в условных единицах от 0 до PI соответственно от 0 до 81 условной единицы.
3) на выходе сразу и sin (сверху) и cos (снизу)
-------------
если кому надо будет полностью готовый вариант - обращайтесь, допилю...
а для тренировки мозгов мне и такого варианта пока хватает))
------------
PS есть идея дальнейшего развития алгоритма
1) уе сделать 0..2пи -> 0..81
(можно конечно всё привести к виду 0..1/4пи, но не факт что разбор "полётов" с углами будет проще простого добавления ещё одного аргумента)
2) ну или вообще вещественным сделать, напр. 0..1
а промежуточные значения получать линейной интерполяцией...
Последний раз редактировалось AI!; 25.10.2011 в 12:37. Причина: PS
Ну батенька ,упростили называется.Двоичный код на входе и это от любителя целочисленной арифметики ,не ожидал
.да и угол маловат ,у меня 0-360 градусов.confused:
![]()
электронщик до мозга костей и не только
всё ж зависит от задачи...
есть отдельная тема в программировании "быстрое вычисление синуса", так тут задача в первую очередь использовать команды которые быстро считают.
а есть которые красиво выглядят
про "двоичный код"
1) я сначала думал использовать степени 2ки для вычисления и по этому решил ввод для теста сделать таким...
потом остановился на степенях тройки
и по уму надо было всё в макрос переписать, где аргумент вводится одним нажатием, но, как вы знаете, текущая версия не удобна для редактирования макросов...
2) угол меняется в "2 счёта" изменением констант...
PS я предполагал что вы не оцените "фарш с тестом", но до состояния готовых пирожков я решил не доводить...
(мож пока)