Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

Закрытая тема
Опции темы
Непрочитано 03.08.2013, 02:46   #21
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 434
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Сообщение от ilyamp Посмотреть сообщение
Извините, не очень понял - а как корень то считать из этой формулы на МК?
Можно так, (только в двоичной форме):
Миниатюры:
Нажмите на изображение для увеличения
Название: p0077.png
Просмотров: 163
Размер:	288.9 Кб
ID:	50351   Нажмите на изображение для увеличения
Название: p0078.png
Просмотров: 169
Размер:	468.4 Кб
ID:	50352   Нажмите на изображение для увеличения
Название: p0079.png
Просмотров: 131
Размер:	84.0 Кб
ID:	50353  

__________________
И если б не было Одессы, шоб я делал?!
val_ka вне форума  
Непрочитано 03.08.2013, 10:26   #22
DmitriyVDN
Гражданин KAZUS.RU
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 222
Сказали Спасибо 234 раз(а) в 154 сообщении(ях)
DmitriyVDN на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Сообщение от val_ka Посмотреть сообщение
Можно так, (только в двоичной форме):
вы это серьезно это для МК
может так...:

Код:
k= number;
n=0;
sum=0;
 while (sum‹k)
{
  n++;
  sum=sum+((n‹‹1)-1);
 }   
result=n;
Миниатюры:
Нажмите на изображение для увеличения
Название: koren.jpg
Просмотров: 548
Размер:	7.5 Кб
ID:	50356  

Последний раз редактировалось DmitriyVDN; 03.08.2013 в 10:44.
DmitriyVDN вне форума  
Сказали "Спасибо" DmitriyVDN
ilyamp (03.08.2013)
Непрочитано 03.08.2013, 10:53   #23
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin

val_ka, даже кубическая интерполяция по таблицам будет быстрей! Да и точность будет намного выше. А с точностью в десятки минут вычислять арксинусы/арккосинусы, по-моему, бесполезно!
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 03.08.2013, 19:02   #24
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin

Сообщение от DmitriyVDN Посмотреть сообщение
может так...:
Красиво, хотя небыстро, для k=70..90 тактов 300 получится...
Ща почти все МК умножают в один - два такта, может по Тейлору быстрее?
Сразу arccox(x)...? ))))
Да и флэш - не проблема - таблица 16бит с 10' дискретом на pi/2 займёт килобайт.
С интерполяцией - минуту можно получить
ilyamp вне форума  
Непрочитано 03.08.2013, 19:15   #25
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 434
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin

Сообщение от ilyamp Посмотреть сообщение
Красиво, хотя небыстро, для k=70..90 тактов 300 получится...
Ща почти все МК умножают в один - два такта, может по Тейлору быстрее?
Сразу arccox(x)...? ))))
Да и флэш - не проблема - таблица 16бит с 10' дискретом на pi/2 займёт килобайт.
С интерполяцией - минуту можно получить
Если на четыре, то да. Но это же не ВМ80.
Вообщем, у меня пока нет dll для pic16. Но уверен, что будет быстрее, при кварце 20 МГц.
ps: кубическая интерполяция не на много лучше. Формула Тейлора - это такое же приближение, как и всё остальное подобное.
Я просто предложил ещё одну приблизительную формулу.
(сам рассчитал, между прочим).
__________________
И если б не было Одессы, шоб я делал?!
val_ka вне форума  
Непрочитано 03.08.2013, 19:53   #26
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin

Сообщение от ilyamp Посмотреть сообщение
таблица 16бит
Слишком плохо. Минимум 32 бита (float), но все-таки, лучше 64 бита (double).
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 03.08.2013, 23:18   #27
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin

Сообщение от eddy Посмотреть сообщение
Минимум 32 бита (float)
Вся проблема в точности - вблизи 1.
Там, кстати, arccos(x) плохо в ряд раскладывается и вычислять его непосредственно в МК(хоть по Тейлору, хоть по ф-ле ТС) - нерационально - очень низкая точность: arccos(1 - 0.0001) = 0.81 градуса.
Улучшить точность в районе 0,95..1 можно "перевернув" таблицу - искать арккосинус по таблице косинуса поиском. Только в этой зоне нужно 32 разряда, а от 0 до 0,95 - вполне хватит и 16
ilyamp вне форума  
Непрочитано 04.08.2013, 11:40   #28
MaslovVG
Частый гость
 
Регистрация: 21.02.2013
Адрес: Волгодонск
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
MaslovVG на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin

А если вспомнить тригонометрию Sin^2+Cos^2 =1.
MaslovVG вне форума  
Непрочитано 04.08.2013, 12:27   #29
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin

Сообщение от MaslovVG Посмотреть сообщение
А если вспомнить тригонометрию Sin^2+Cos^2 =1.
А корень вы считать как собираетесь?
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 04.08.2013, 14:34   #30
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 434
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию 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[ );

Насчёт корня. У меня когда-то был относительно простой алгоритм, основанный на приведенных десятичных примерах. Я попробую его найти. Хотя было два переезда. Посмотрю.
__________________
И если б не было Одессы, шоб я делал?!

Последний раз редактировалось val_ka; 04.08.2013 в 14:36.
val_ka вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 06:16.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot