Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств. |
04.08.2013, 15:46
|
#31
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
val_ka, все-таки, даже простая кубическая интерполяция сплайнами по сетке из 100 табличных значений даст уже точность выше 10¯⁷. И корень вычислять не надо.
Но, конечно, метод надо выбирать, исходя из задачи: если вам действительно хватит точности в полградуса, то нет смысла усложнять алгоритм. А если нужна точность в доли секунды, лучше использовать таблицы.
P.S. Проверил еще и с линейной интерполяцией. Получилась точность не хуже секунды. И это всего-то на 100 табличных значениях!
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
04.08.2013, 20:05
|
#32
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Попробовал этот метод реализовать на микроконтроллере и получил такие результаты:
Микроконтроллер AVR Mega8 на частоте 20 МГц
1) Стандартная функция ACOS(x)
Размер 804 байта, время выполнения около 0,35мс (6800-7100 тактов).
Погрешность не хуже +-0,0004 градуса
2) Функция автора
Размер кода 654 байта, время выполнения около 0,20 мс (4000-4100 тактов)
Погрешность такая как и заявлено в первом топике.
Последний раз редактировалось lsa; 04.08.2013 в 20:13.
|
|
|
Эти 3 пользователя(ей) сказали Спасибо lsa за это сообщение:
|
|
|
04.08.2013, 22:08
|
#33
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Сообщение от lsa
|
Стандартная функция ACOS(x)
|
Это где она стандартная? И с каких времен?
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
04.08.2013, 22:35
|
#34
|
Прописка
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Цитата:
|
Формулу же можно и преобразовать.
alpha^2= 1598,4cosx^2 - 9648cosx + 8049,6 ; (это для arccos(x)) ;
1598,4cosx^2 - 9648cosx + 8049,6 - alpha^2 = 0 ; (это для нахождения cos(x), один из корней после решения квадратного уравнения, при этом alpha какое-то чило ]0 ; 90[ );
|
В конце концов Ваши поиски закончатся нахождением аппроксимирующего полинома. Зачем там корень извлекать? Найдите методом наименьших квадрантов полином описывающий синус на участке 0-90. Ну или проще постройте график в экзеле и получите линию тренда с формулой.
|
|
|
|
05.08.2013, 22:15
|
#35
|
Вид на жительство
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 434
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Сообщение от Impartial
|
В конце концов Ваши поиски закончатся нахождением аппроксимирующего полинома. Зачем там корень извлекать?
|
Да поиски уже (у меня) закончились два года назад (ушло на это три дня, точнее 15 часов). Зачем корень извлекать? - ну так вот я его вывел - метод этот.
(или Вы всё ещё думаете, что в математике есть хоть какие-то точные формулы?)
ps: когда-то в школе (лет 35 назад), когда мы считали по таблицам Брадиса и логарифмическим линейкам, я спросил нашу классную, математичку:
- ... а есть другой какой-то метод?
- В институте будет изучать метод Тейлора, но он очень сложный...
- А другой какой-то есть?
- Нет!
- Я найду...
- Да, найдёшь ты...
- Я найду!
Вообщем, я (по отношению к ней) своё обещание выполнил.
__________________
И если б не было Одессы, шоб я делал?!
Последний раз редактировалось val_ka; 05.08.2013 в 22:20.
Причина: ps:
|
|
|
|
05.08.2013, 23:06
|
#36
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Сообщение от val_ka
|
я (по отношению к ней) своё обещание выполнил.
|
Батенька, дык, можно было бы вообще параболой синус аппроксимировать. "Выполнить" обещание…
// я считаю, что точность ниже секунды недопустима. А вообще, в моих задачах точность должна быть как минимум 0.1''!!!
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
05.08.2013, 23:56
|
#37
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Сообщение от eddy
|
в моих задачах точность должна быть
|
Вот Протоны в небе на 180 градусов разворачиваются и ничего. Война все спишет.
А вы доли градуса считаете. ![Очень счастлив](images/smilies/icon_grin.gif)
Вообще автор темы и не обещал полной замены обычным методам. Это просто еще один способ получить результат.
Это как если бы во время ядерной войны сгорели все компьютеры/калькуляторы и таблицы Брадиса и нужно найти угол возвышения ствола гаубицы для выстрела. Так вот зная этот метод артиллерист на пальцах сможет вычислить простыми арифметическими действиями этот угол.
|
|
|
|
06.08.2013, 11:31
|
#38
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Сообщение от lsa
|
если бы во время ядерной войны сгорели все компьютеры/калькуляторы и таблицы Брадиса ... зная этот метод артиллерист на пальцах сможет вычислить простыми арифметическими действиями
|
Пока он сумеет выполнить
Сообщение от lsa
|
4000-4100
|
простых арифметических действий, ему настучат дубинами по кумполу не только чужие, на даже свои - так они ждать заманаются.
__________________
There's always more than one way to skin a cat.
|
|
|
|
06.08.2013, 14:47
|
#39
|
Вид на жительство
Регистрация: 30.10.2007
Адрес: Ростов-на-Дону
Сообщений: 285
Сказал спасибо: 23
Сказали Спасибо 39 раз(а) в 33 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin.
Сообщение от val_ka
|
И ещё. Просто как пример.
Смотрите, вот описание видеосигнала у Гуни:
http://pic16f84.narod.ru/item_video.htm
Эта формула будет считать гораздо быстрее, и частота, следовательно, может быть гораздо меньше.
|
А вот у этого автора всё нормально на атмеге 88 с цветным сигналом (правда тут фазой играют), но: |
|
|
|
06.08.2013, 15:10
|
#40
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Новый метод расчёта arccos, cos, sin
Сообщение от vspvsp
|
А вот у этого автора всё нормально на атмеге 88 с цветным сигналом
|
Текстовый же режим, да еще и 8-битный цвет. Халява-с! ☺
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:43.
|
|