Operações exponenciais

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. :wink: