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

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

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

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

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

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

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

 
Опции темы

Новый метод расчёта arccos, cos, sin

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

Решил запостить эту тему здесь, т.к. соответствующего раздела нет (или не нашёл), и думаю, что она больше подходит, всё же для программных расчётов.
Дело в том, что два года назад 17 апреля 2011, я вывел новую формулу. Она позволяет довольно сносно рассчитать угол прямоугольного треугольника, без таблиц Брадиса, формул Тейлора, и т.п..
Я опубликовал фотку на форуме nkj.ru в разделе "Полигон". Отзывы от математиков, были: трое были "за" - только просил один увеличить точность до 8-й степени, один сначала против, потом воздержался .
Сегодня хотел дать ссылку, на эту тему, но оказалось, что старого форума нет, а новом форуме нет старого.

осталось только это:
http://www.nkj.ru/search/?q=%ED%EE%E...0&where=&how=r

И больше ничего. Привожу оставшийся текст на всякий случай.
Цитата:
Новый метод нахождения острого угла прямоугольного треугольника.

Автор: Валентин Конон. Здравствуйте. Может метод и не новый, но я его разработал вчера. Хочу сказать, что в нескольких ... ... из-за одного задания и обстоятельств, вычислить угол Альфа любого прямоугольного треугольника, имея только катет и гипотенузу, без таблиц Брадиса,... ... формулу. Т.к. не смог её доказать, то привожу весь ход моего расчёта на прилагаемой фотографии. Формула достаточно проста, и ... ... гипотенуза. точность в радиан: самая грубая +\- 0,0048 точность угла: самая грубая +\- 0,2628 градуса. (это когда подкоренное ...
Изменен: 20.04.2011
Путь: НАУКА И ЖИЗНЬ / Форум журнала «НАУКА И ЖИЗНЬ»
Могу добавить, что "самая высокая точность" e-5. (такую точность можно оставить на всех углах от 0 до 90, если подобрать - exel это очень просто - третье слагаемое для каждых 10, например градусов и менять их по условию).
Собственно, фотка, которую сделал только что ещё раз, и выкладываю чуть ниже.
По сути - это alpha=arccos(x);
Если решить квадратное уравнение, то один из корней - это будет cos(alpha)=x. (возведёте обе части в квадрат и решите).
Думаю, что формула позволит выполнять вычисления углов, даже на pic16f84 и им подобных.
(формулу гонял в exel - вроде всё неплохо). Также она хороша тем, что позволяет непосредственно считать в абсолютных величинах, и применять на практике с достаточной точностью).
(Для египтологов скажу, что эта формула даже показывает, что египтяне могли и не знать числа pi - оно, как видите, сокращается до удобоваримого варианта формулы).
Ссылка на тот адрес на nkj.ru была также дана на форуме hatcha (по ассемблеру), в ответе на вопрос (кого-то) - Знает ли кто-то формулу полегче (побыстрее) из-за слабого микроконтроллера в проекте для заказчика.
Думаю, что они уже пользуются во всю, хотя бы в игрушках на микроконтроллерах, или роботах. (скорость обработки и соответственно реагирования, повышается на несколько порядков).
Хотя формула позволяет себя реализовать даже на аналоговых элементах.

Вообщем, вот фотка вывода формулы. Заметки, к сожалению, я писал на английском, но ведь математика и так понятна, я думаю. (Если кому-то пригодится - буду рад).
Миниатюры:
Нажмите на изображение для увеличения
Название: GEDC0279.JPG
Просмотров: 522
Размер:	344.0 Кб
ID:	50328  
__________________
И если б не было Одессы, шоб я делал?!
val_ka вне форума  
Сказали "Спасибо" val_ka
lsa (02.08.2013)
Непрочитано 02.08.2013, 09:15  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Так у вас там просто первые 2-3 члена разложения в ряд Тейлора используются что ли?
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 02.08.2013, 09:21  
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 425
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

там нет "тейлора" вообще.
Там корень. И начало вывода из геометрии.

ps: один из математиков (на "науке и жизнь") тоже так сначала сказал, но потом "всмотрелся по внимательнее".
__________________
И если б не было Одессы, шоб я делал?!

Последний раз редактировалось val_ka; 02.08.2013 в 09:24. Причина: ps:
val_ka вне форума  
Непрочитано 02.08.2013, 09:27  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

val_ka, батенька, точность у вас жутчайшая. Для проверки накатал быстренько в octave:

arc.m:
Код:
function d = arc(k, h)
	Cos = k./h;
	d = 120.*sqrt((0.559-0.111.*Cos).*(1-Cos));
endfunction
проверяем:
Код:
H=1;                % гипотенуза
K=[0:0.01:1];       % набор катетов
App=arc(K,H);       % примерный арккосинус
Rea=acos(K)*180/pi; % настоящий арккосинус
D = Rea-App;        % разность
plot(D);            % график, если надо - выложу, но вы и сами повторить в силах
std(D)              % среднеквадратичное отклонение

ans =  0.15108

max(abs(D))         % предельное абсолютное отклонение

ans =  0.28044
Т.е. предельная ошибка составляет почти 17'!!!
Такое грубое приближение годится лишь для указания угла наклона дороги на знаках!

// в общем, вы бы сначала точно все проверили, чтобы очередным Петриком не прослыть.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 02.08.2013 в 09:32.
eddy вне форума  
Непрочитано 02.08.2013, 09:51  
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 425
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Проверьте сами (прежде чем быстренько). У меня всё точно. (вы ошиблись в своей быстренькой программе).
Лучше проверьте в exel.
Прекратите переходы на личность. Мы не на базаре. (так, рекомендация).

ps: точность такая, как было заявлено раньше. (тем более, что для повышения точности, надо создать табличку с третьим слагаемым, в зависимости от группы углов).
__________________
И если б не было Одессы, шоб я делал?!

Последний раз редактировалось val_ka; 02.08.2013 в 10:01.
val_ka вне форума  
Непрочитано 02.08.2013, 10:00  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,395
Сказал спасибо: 85
Сказали Спасибо 674 раз(а) в 393 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Сообщение от eddy Посмотреть сообщение
Т.е. предельная ошибка составляет почти 17'!!!
Такое грубое приближение годится лишь для указания угла наклона дороги на знаках!
// в общем, вы бы сначала точно все проверили, чтобы очередным Петриком не прослыть.
Ну так автор и написал: +\- 0,2628 градуса.
Какие могут быть претензии? Кому хватит этой точности, будут использовать.
pambaru вне форума  
Непрочитано 02.08.2013, 10:19  
val_ka
Вид на жительство
 
Регистрация: 15.07.2007
Адрес: Одесса
Сообщений: 425
Сказал спасибо: 71
Сказали Спасибо 125 раз(а) в 78 сообщении(ях)
val_ka на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Сообщение от pambaru Посмотреть сообщение
Ну так автор и написал: +\- 0,2628 градуса.
Какие могут быть претензии? Кому хватит этой точности, будут использовать.
Максимальная точность при расчётах близких к 30 градусам e-5
Минимальная при близких к 60: +/- 0,2628

Если менять третье слагаемое, в зависимости от угла, с интервалом в 10 градусов (или пять), то получится гораздо большая точность во всём диапазоне от 0 до 90. (десятые или точнее).
При этом таблица для третьего слагаемого (общий случай 0,559) будет состоять из девяти, или 18 чисел, соответственно.
__________________
И если б не было Одессы, шоб я делал?!

Последний раз редактировалось val_ka; 02.08.2013 в 10:22.
val_ka вне форума  
Непрочитано 02.08.2013, 10:34  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Сообщение от val_ka Посмотреть сообщение
вы ошиблись в своей быстренькой программе
Где?
Сообщение от val_ka Посмотреть сообщение
Лучше проверьте в exel
Ага, проверять формулу на точность в "охфисной" программке. Ну и затейник вы, батенька!
Сообщение от pambaru Посмотреть сообщение
Ну так автор и написал: +\- 0,2628 градуса.
Черт, а я и не обратил на это внимания. В глаза попалось E-5.
Сообщение от val_ka Посмотреть сообщение
Максимальная точность при расчётах близких к 30 градусам e-5
Ага, при линейной интерполяции по таблицам Брадиса точность еще выше…

Но для МК сойдет, согласен: проще разбить интервал 0..1 на десяток-другой подынтервалов и задать на каждом простенькую квадратичную интерполяцию, нежели табулировать Брадиса.
Кстати, еще вариант: затабулировать штук 100 значений и вычислять арккосинус и арксинус интерполяцией B-сплайнами. Это легко и быстро. И точность выше будет.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 02.08.2013, 11:11  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,395
Сказал спасибо: 85
Сказали Спасибо 674 раз(а) в 393 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

Налобал наскоряк программку, тестирование в заданном диапазоне с шагом 0.01 градус.
Максимум получилось 0.2792 градуса
Вложения:
Тип файла: rar testarc.rar (165.2 Кб, 62 просмотров)
pambaru вне форума  
Непрочитано 02.08.2013, 11:15  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Новый метод расчёта arccos, cos, sin.

pambaru, а чего бинарник-то выкладываете? Выкладывайте исходники, каждый сам себе соберет. Это проще, чем пытаться ваш вендовый бинарник запустить (да и мало ли: вдруг там вирье какое…).

Вот, кстати, обещанный график погрешностей.
Миниатюры:
Нажмите на изображение для увеличения
Название: diff.png
Просмотров: 163
Размер:	18.2 Кб
ID:	50334  
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 02.08.2013 в 11:22.
eddy вне форума  
 
Опции темы

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

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.