Библиотека math.h

5N62V
Offline
Зарегистрирован: 25.02.2016

Здравствуйте! Не пинайте сильно - я начинающий.

Есть необходимость считать арктангенс .  Теоретически где-то есть библиотека math. Практически я нашел только код файла math.h   , а где взять math.cpp  -  понятия не имею.

Буду благодарен за конструктивную подсказку про:

а) где взять и как заставить эту библиотеку работать

б) любой альтернативный способ вычисления ATAN

 

Заранее благодарен. :)

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

It is useful when calculating angles from accelerometers to calculate the angle from a tangent. This function will return the angle (in degrees) from a tangent.

float atan(float tangent){
    //Return atan in degrees
    //returns value between -90 and +90
    float tansign, angle;
    tansign=1;

    if(tangent<0) {
        tansign=-1;
        tangent*=-1;
    }
    if(tangent<=1)
        angle = tansign*((tangent/(1+ 0.28*tangent*tangent))*57.29);
    else
        angle = tansign*(90-((tangent/(tangent*tangent+0.28))*57.29));
        
    return angle;
}

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

5N62V пишет:

а) где взять и как заставить эту библиотеку работать

#include <math.h>

https://www.arduino.cc/en/Math/H

5N62V
Offline
Зарегистрирован: 25.02.2016

Jeka_M пишет:

#include <math.h>

https://www.arduino.cc/en/Math/H

[/quote]

был я там. Ответов не нашел. :)

5N62V
Offline
Зарегистрирован: 25.02.2016

Tomasina пишет:

It is useful when calculating angles from accelerometers to calculate the angle from a tangent. This function will return the angle (in degrees) from a tangent.

float atan(float tangent){
    //Return atan in degrees
    //returns value between -90 and +90
    float tansign, angle;
    tansign=1;

    if(tangent<0) {
        tansign=-1;
        tangent*=-1;
    }
    if(tangent<=1)
        angle = tansign*((tangent/(1+ 0.28*tangent*tangent))*57.29);
    else
        angle = tansign*(90-((tangent/(tangent*tangent+0.28))*57.29));
        
    return angle;
}

 

Спасибо! Мне эта формула кажется очень сомнительной..... покумекаю еще.

Что это за коэффициенты? Откуда они взялись?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

гугель выдал.

5N62V
Offline
Зарегистрирован: 25.02.2016

А,  Ясн. :) та  с гуглем у меня у самого неплохо получается  :)

Математику написал, а теперь стоит задача подружить ее с адруиной :)

(а меня самого еще нужно с адруиной подружить )

Нашел пока complex.h  - если заработает, то расскажу что куда. :)

5N62V
Offline
Зарегистрирован: 25.02.2016

Чей-то не идет процесс.  

complex.h работает, но она оказалась библиотекой для работы с комплексными числами.   :(   Пробовал реактивную составляющую оставлять нулевой - не работает.  Тоскаааааа...................  :( :( :(

 

Sr.FatCat
Offline
Зарегистрирован: 19.02.2016

Так, что происходит при

#include <math.h>

? Ошибка компиляции? Если math.h входит в стандартный пакет wire, то нафига велосипед?

5N62V
Offline
Зарегистрирован: 25.02.2016

Sr.FatCat пишет:

Так, что происходит при

#include <math.h>

? Ошибка компиляции? Если math.h входит в стандартный пакет wire, то нафига велосипед?

А ведь правда, подключил math.h - работает. Все дело оказалось в кривых руках: в println надо было указать колличество знаков после запятой. А то оно обрезает его, а я думал что просто оператор не работает.

Спасибо! Вы меня заставили сфокусироваться на проблеме, и все разрешилось :)

Вывод:

#include <math.h>

работает как надо, надо больше тренироваться! :))

Всем - мира!

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

а сравните результат math.h и найденного мной кода. Мне просто интересно :)

Jatixo
Offline
Зарегистрирован: 13.01.2016

 

atan(123.12345)
1.56267452239990234375 - math.h
89.534698486328125 - функция

atan(-321.123)
-1.5676822662353515625 - math.h
-89.82159423828125 - функция

atan(1)
0.785398197174072265625 - math.h
44.7578125 - функция

Jatixo
Offline
Зарегистрирован: 13.01.2016

А всё почему? math.h выводит в радианах, а функция в градусах, но я проверил все верно, правда не очень точно и то, и другое:

В радианах arctg = 0.78539816339745
в градусах arctg = 45

Goldln
Offline
Зарегистрирован: 02.09.2016

Помогите тоже с этой библиотекой , я в стандартных .Я что то не найду . Укажите или скиньте саму её .

Goldln
Offline
Зарегистрирован: 02.09.2016

Буду признателен !!!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Goldln пишет:
Помогите тоже с этой библиотекой , я в стандартных .Я что то не найду . Укажите или скиньте саму её .

А Вы её пользовать пробовали? Боюсь, что нет. Если бы попробовали, то с удивлением обнаружили бы, что она у Вас есть.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

я запрещаю раздавать библиотеки кому попало.

Goldln
Offline
Зарегистрирован: 02.09.2016

Что пользовались. Хорошо, где она находится в стандартных. Мне нужно только math.h.

Goldln
Offline
Зарегистрирован: 02.09.2016

Зачем тогда этот форум если нет помощи????

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Goldln пишет:
Зачем тогда этот форум если нет помощи????

подай жалобу в Министерство Помощи.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Goldln, разуй глаза - сообщение #2 этой темы...

Goldln
Offline
Зарегистрирован: 02.09.2016

Все понятно с вами !!!

wdrakula
wdrakula аватар
Онлайн
Зарегистрирован: 15.03.2016

Goldln пишет:
Все понятно с вами !!!

Дебил! Тебе пальцем ткнули в сообщении №2 в этой ветке!!

Запечатай свой комп в коробку и подари в детдом!

Вот тебе путь от Ардуино ИДЕ:

./hardware/tools/avr/avr/math.h

Goldln
Offline
Зарегистрирован: 02.09.2016

Э хакер не до развитый . Словами по тиши . кидайся

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Goldln пишет:
Э хакер не до развитый . Словами по тиши . кидайся

ты ещё па-руски потребуй объяснить тебе, что ты кретин.

Goldln
Offline
Зарегистрирован: 02.09.2016

Ещё один нарисоваля , у вас там сборище . Что ль ?

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Goldln пишет:
Ещё один нарисоваля , у вас там сборище . Что ль ?

кто тут?

Goldln
Offline
Зарегистрирован: 02.09.2016

Ладно не когда мне свами ругатся . Если не можете объяснить что да как . Не чего из себя корчить . Знатоков и незачем на вопросы других отвечать . Просто другим будет приятнее не читать вашу писанину . ;)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Goldln пишет:
Помогите тоже с этой библиотекой , я в стандартных .Я что то не найду . Укажите или скиньте саму её .

Блин, да это стандартная библиотека языка, а не Ардуино! Просто включайте include и пользуйтесь на здоровье.

Goldln пишет:
Зачем тогда этот форум если нет помощи????

Вам уже два человека сказали, что берите и пользуйтесь. Какая Вам ещё помощь нужна? Пол помыть или попу подтереть?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Объясняю для детсадовцев - библиотека math уже есть в Arduino IDE, ничего качать и устанавливать не надо. Чтобы с ней работать, надо написать в скетче: #include <math.h>

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Jeka_M пишет:

Объясняю для детсадовцев...

кто открыл калитку в детдоме и выпустил в жестокий мир этих нежных беспризорников?

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

ай-я-яй, спрятали библиотеку от Goldln, не стыдно Вам?

Goldln
Offline
Зарегистрирован: 02.09.2016

Во вот теперь я понял , а то начили включать не понятно кого . Спосибо за помощь