Вычисление COS
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Вычисление COS
Доброго всем времени суток!
Возникла проблема с вычислением COSинуса в IAR. Никак не получается ни с использованием библиотеки math.h, ни со сторонними функциями. На выходе всегда получается одно и тоже число независимо от вводимого угла.
Может кто решал подобную задачу? Помоги пожалуйста!
Возникла проблема с вычислением COSинуса в IAR. Никак не получается ни с использованием библиотеки math.h, ни со сторонними функциями. На выходе всегда получается одно и тоже число независимо от вводимого угла.
Может кто решал подобную задачу? Помоги пожалуйста!
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
- Реклама
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: Вычисление COS
Самая простая
#include <math.h>
...
for (i = 0; i <90 ; i++)
cosinus = cos(i);
....
cosinus всегда = 9.23231e-39.
#include <math.h>
...
for (i = 0; i <90 ; i++)
cosinus = cos(i);
....
cosinus всегда = 9.23231e-39.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Вычисление COS
Посмотрите описание функции, в компьютерных сях аргумент представлен в радианах. А тут?
ЗЫ. Арккосинус Вашего значения 90 гр.
Может не обнуляется аргумент?
ЗЫ. Арккосинус Вашего значения 90 гр.
Может не обнуляется аргумент?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: Вычисление COS
Да пок каким бы соусом какое значение не толкал - ответ всегда один.
Что значит не обнуляется и какой аргумент?
Что значит не обнуляется и какой аргумент?
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
- Реклама
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: Вычисление COS
А вот с acos какая-то непонятная ерунда.
загоняемое значение (0-200) - результат :
0 - 1,5708
1 - 0
2 - 3,40282
и до 200 - 3,40282
загоняемое значение ((0-200) * 3.14 / 180) - результат :
0 - 1,5708
0,0174444 - 0,785398
0,715222 - 0
1,01178 - 3,40282
и до победного - 3,40282
Показаны только загоняемые значения, на которых возвращаемые значения меняются.
В промежутке между ними они НЕ МЕНЯЮТСЯ!
загоняемое значение (0-200) - результат :
0 - 1,5708
1 - 0
2 - 3,40282
и до 200 - 3,40282
загоняемое значение ((0-200) * 3.14 / 180) - результат :
0 - 1,5708
0,0174444 - 0,785398
0,715222 - 0
1,01178 - 3,40282
и до победного - 3,40282
Показаны только загоняемые значения, на которых возвращаемые значения меняются.
В промежутке между ними они НЕ МЕНЯЮТСЯ!
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Вычисление COS
Код: Выделить всё
while(1)
{
x=cos(3.1415/180*y);
y++;
}Ставим плюсы: )
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: Вычисление COS
АААААА-а-а-а-а-а.
Я с ума сойду скоро уже наверное....
Для чистоты эксперимента создал абсолютно новый проект с одной единственной фунцией и...
все естесственно заработало....
Буду копать.... я это дело так не оставлю...
Я с ума сойду скоро уже наверное....
Для чистоты эксперимента создал абсолютно новый проект с одной единственной фунцией и...
все естесственно заработало....
Буду копать.... я это дело так не оставлю...
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Re: Вычисление COS
тупой вопрос.DimanVIP писал(а):...cosinus всегда = 9.23231e-39.
а вы косинус смотрите на каждом проходе цикла или чисто в конце?
и не совсем тупой.
под дизазмом смотрели? пошажно? всё встанет на свои места. сам вызов имеется ввиду.
(круглый)
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: Вычисление COS
смотрел естественно пошажно.
Весь прикол в том был, что по ошибке вычисления проводились в прерывании.
И получалось так, что еще до окончания вычисления, прерывания вызывалось вновь и т.д.
Смотрел я в протесе, и только потом еще обратил внимание что он тупить начал и файл подкачки перевалил за гиг.
Перенес в основной цикл, где ему и положено быть, и все конечно заработало.
Но как не говорится что бог не делает - все к лучшему.
В поисках функций вычисления косинуса я наткнулся на одну отличную реализацию, идеально подходящую под мою задачу.
Она позволяла без вычислений этого самого косинуса "рисовать" синусоиду различной амплитуды и частоты, использую для этого всего лишь таблично заданную "половинку синусоиды". Причем сразу 3 фазы, сдвинутые на 120 градусов. Очень компактный и шустрый алгоритм.
Вот так вот....
Весь прикол в том был, что по ошибке вычисления проводились в прерывании.
И получалось так, что еще до окончания вычисления, прерывания вызывалось вновь и т.д.
Смотрел я в протесе, и только потом еще обратил внимание что он тупить начал и файл подкачки перевалил за гиг.
Перенес в основной цикл, где ему и положено быть, и все конечно заработало.
Но как не говорится что бог не делает - все к лучшему.
В поисках функций вычисления косинуса я наткнулся на одну отличную реализацию, идеально подходящую под мою задачу.
Она позволяла без вычислений этого самого косинуса "рисовать" синусоиду различной амплитуды и частоты, использую для этого всего лишь таблично заданную "половинку синусоиды". Причем сразу 3 фазы, сдвинутые на 120 градусов. Очень компактный и шустрый алгоритм.
Вот так вот....
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Re: Вычисление COS
DimanVIP, а не могли бы вы этой реализацией поделится?
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: Вычисление COS
Делюсь, в том виде в каком нашел. Там есть файл протоса, запустите и все увидите.Aleksis писал(а):DimanVIP, а не могли бы вы этой реализацией поделится?
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Re: Вычисление COS
Спасибо


