Preciso fazer operações exponenciais para extrair uma informação (desvio padrão) das minhas variáveis mas o ardunino não reconhece o comando "^" e preciso fazer o seguinte cálculo:
Todas as variáveis foram definidas como "float"
absor_media = ((absor1 + absor2 + absor3 + absor4)*(0.25));
desvpad = (((((absor1 - absor_media)^2) + ((absor2 - absor_media)^2) + ((absor3 - absor_media)^2)+ ((absor4 - absor_media)^2))/3)^(0.5));
Se alguém conseguir me ajudar, por favor.
Sei que é obsoleto, mas quando preciso realizar cálculos estatísticos eu uso: quando é quadrado, multiplico por ele mesmo; Raíz quadrada eu uso a função sqrt(). Espero ter ajudado!
tecdiego:
Sei que é obsoleto, mas quando preciso realizar cálculos estatísticos eu uso: quando é quadrado, multiplico por ele mesmo; Raíz quadrada eu uso a função sqrt(). Espero ter ajudado!
Sobre o quadrado, aquele momento "Como não pensei nisso antes...." hahaha
Pode ser obsoleto mas funcionou muito bem aqui :), muito obrigado pela luz.
Desculpa dizer isto, mas o Arduino não é o melhor processador para fazer cálculos desses.
No entanto, se queres usar funções podes ler as funções disponíveis aqui:
http://nongnu.org/avr-libc/user-manual/group__avr__math.html
No teu caso poderias fazer:
#include <math.h>
square(absor1 - absor_media);
//OU
pow((absor1 - absor_media), 2);
Muito boa bubulindo, gostei dessa dica, facilita muito.
O que facilita muito é mesmo o site que indiquei pois é lá que estão todas as funções disponíveis para o Arduino. Existe muita coisa lá que a maior parte das pessoas não sabe e que dão jeito. 