Надо таблицы, надо. Речь как раз идёт о скорости вычислений. И не для 13 бит (т.е. 4,8 десятичных цифры), а о разработке библиотечной функции с точностью 9 десятичных знаков, т.е. 32 бит. В этом случае таблицы быстрее работают.
Библиотечная функция - для чего? Как самоцель? Т.е. - сферический конь в вакууме? А почему тогда 32 бита, а не 64 к примеру? А если вспомнить, что форум посвящён всё-таки МК, которые используются для встраиваемых применений, а не для научных расчётов или моделирования, то для каких таких задач нужно именно 32 бита? именно 32 не меньше и не больше? И одно из практических применений синуса в сфере embedded - это генерация синусоиды (с некоей постоянной частотой). И в этом случае метод, который я описал будет и быстрее и компактнее таблиц. Или Вы можете показать как таблично вычислить синус менее чем за одну MAC-операцию?? А если теперь ещё немного подумать и понять, что ОЗУ в МК - как правило очень ограниченный ресурс и хранить таблицы в нём - это подойдёт для разве что очень простых задач. А если хранить во флешь, то знаете какое время выборки из внутренней флешь? Сколько тактов? Так что вполне возможно, что полином с 7-ю членами ещё быстрее посчитается чем интерполяция по Вашим таблицам. Тем более если разбивать таблицы на две и использовать формулу для суммы углов (из тригонометрии).
PS: И что-то я сильно сомневаюсь насчёт 32-бит точности при шаге таблицы 0.1градус. Вы ничего не попутали? Неужто на линейной интерполяции? И на единственной таблице (без разложения по формуле синуса суммы углов в 2 таблицы)?
Поучитесь у старичков, которые раньше на примитивных процах работали. В вашем случае достаточно линейной интерполяции и не надо никаких рядов Тейлора.
Может сначала старичкам (коли так хочется попоучать современную молодёжь) нужно покурить даташиты на современные процы на предмет скорости работы встроенной флешь и подумать "А почему собственно на самых быстрых МК внутренней флешь частенько вообще нету"? Ну это чтобы нечаянно не вляпаться в грязь лицом перед этой самой молодёжью.
Библиотечная функция - для чего? Как самоцель? Т.е. - сферический конь в вакууме? А почему тогда 32 бита, а не 64 к примеру?
Чудак человек. Ей-богу. А спросить ТС Menzoda - не судьба видимо? ))) А Гитхаб-то мы не знаем. потому что молодежь ведь. Наивные и простые. И для чего гитхаб нужен? Хрен его знает, ага.
В портянке ниже - расчёт 200 значений синуса из диапазона 0...90 градусов
н-даа. всё таки нельзя вам давать в руки клавиатуру, вы всё портите к чему прикасаетесь. Синус - функция выпуклая, равномерная и гладкая - поэтому достаточно просчитать только возможные экстремальные точки на характерном промежутке.
Как у меня приведены всего 3 точки, хотя достаточны даже 2 или вообще одна. Остальные нужны как раз для оценки характеристик поведения функции самой ошибки (где больше и в каком направлении растёт ошибка) - поэтому и привожу 3 точки.
Чудак человек. Ей-богу. А спросить ТС Menzoda - не судьба видимо? )))
Для тугих на голову разжую свою реплику: В сфере embedded решаются как правило практические задачи управления устройствами, измерения, передачи данных и т.п. МК как правило не используются для задач математического моделирования. Соответственно - любое ПО для МК предназначено для решения одной из вышеуказанных задач. А также - любая часть ПО. Соответственно - если кто-то делает какую-то "библиотеку", то сразу вопрос - "какова область её применения?" Если область применения даже автору неизвестна, то это и есть "конь в вакууме". Так как для применения в реальной задаче такое будет как правило неэффективно. Для любой практической задачи тот же самый синус можно реализовать кучей разных способов, каждый из которых оптимален для своей задачи и неоптимален для другой.
Понятно что вам, в силу ограниченности, невдомёк, что синус можно считать не только таблицей. Впрочем ничего странного - практически каждый чайник так и делает. Просто другого ничего не знает.
Синус - функция выпуклая, равномерная и гладкая - поэтому достаточно просчитать только возможные экстремальные точки на характерном промежутке.
Выпуклая - это цифра, характеризующая уровень ваших знаний. Цифра '0'. По делу есть что сказать? Кто-то тут плёл, что таблицами можно получить точность 32 бита на простой линейной интерполяции (и не конскими таблицами во всю память, а нормального размера). Приведите пример функции, а мы проверим. Так же кто-то плёл про невероятную скорость вычислений табличного метода. Приведите пример конкретной функции для конкретного МК работающего на конкретной частоте с таблицей находящейся во флешь. И с растактовкой пожалуйста.
Так же кто-то плёл про невероятную скорость вычислений табличного метода. Приведите пример конкретной функции для конкретного МК работающего на конкретной частоте с таблицей находящейся во флешь. И с растактовкой пожалуйста.
Вы очень узколобый, и вот эта фраза она вас характеризует как человека. Вы однозначно программист. Человек, которого все окружающие воспринимают как дурачок. Не от мира сего. Ну и фраза из другого топика про 286-е, также вас характеризует как узколобого ограниченного человека. Я напомню
Причём тут какие-то 286 или другие архитектуры давно уже музейные? Форум посвящён микроконтроллерам. Прочитайте несколько раз. К тому же данная ветка - МК на архитектуре ARM. Причём тут какие-то 286?? Ваши старческие воспоминания тут не к месту и бесполезны.
Продукт во всей красе. "Чукча не читатель, чукча писатель" - вы бы не позорились так ярко.
Тут в принципе и комментировать не надо )) Человек с широким кругозором понял бы намёк. Но программистам намёки и, тем более, сарказм - не понятен в принципе. ))
Им надо пояснять где-что ))) Как на сайте программистов Хабра-Хабр. И я горжусь, что такие как вы, узколобые программисты, меня не приняли туда и выпилили анонимным минусованием, Это и есть ваши подлые и низкие душонки в ваккууме, возведённые в квадрат. Что вы здесь и демонстрируете как отдельный индивид, вырванный из контекста. ))
А пояснять я вам свои мысли не буду, вы должны остаться в недоумении... Над вами должно посмеяться сообщество радиокотанов.
Предупреждение. Нарушение правил форума. п 2-3. Fakir.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения