Tags:
Boa tarde DE,
Exite um biblioteca do arduino que é para ser usada com fins estatísticos.
E a Statistic.h, e mais informação sobre ela em: https://playground.arduino.cc/Main/Statistics.
Acho que a função que calcula o desvio padrão ( standard deviation) é a seguinte : pop_stdev().
Neste link tem um exemplo de uso com vários resultados estatísticos.
RV
existe alguma forma de fazer o Desvio padrão por código sem utilizar essa biblioteca?
e que eu queria aprender a fazê-lo.
Mineirin eu estava a pensar em:
float acc[10] = {1.0,0.5,0.5,0.0,0.0,-0.5,-1.0,-1.0,-0.5,0.0};
int N = sizeof(acc)/sizeof(float);
float sum = 0;
float despad;
float minimo = 0;
float maximo = 0;
float media;
//==================================
void setup()
{
Serial.begin(9600);
desPad;
}
//======================================
void loop()
{
}
//=========================================
void desPad(float arr[])
{
float soma = 0;
for ( int i = 0; i < N; i++) {
soma = soma + acc[i];
}
media = soma / N;
//=============================
for (int i = 0; i < N; i++) {
if (acc[i] > maximo) {
maximo = acc[i];
}
}
//=============================
for (int i = 0; i < N; i++) {
if (acc[i] < minimo) {
minimo = acc[i];
}
}
//===============================
float x[10];
float sum = 0;
for (int i = 0; i < N; i++) {
x[i] = (acc[i] - media) * (acc[i] - media);
sum = sum + x[i];
}
despad = sqrt(sum / N);
}
Mas nao esta a dar Minerim.
Se não entender meu skect AUTO-EXPLICATIVO e que gera automaticamente SEM USO DE BIBLIOTECAS vai ser difícil você entender!
Fiquei um tempão pra deixar esse Sketch"bonitinho" rsrs!
Bônus adicionais como gerar a sequencia Fibonacci para criar o array!
Mário Muito obrigado esta excelente, voce fez isso e muito mais :P perfeito!!!!.
Amigo, corrigi alguns erros, se baseie nesse!
Obrigado Mario 5 estrelas..
Isso ficou excelente! Muito obrigado!
Não há de que!
Cara, no final o algoritmo fica assim:
int vetor[] = {13,8,34,1,5,3,1,0,21,2};
int tamanho = sizeof(vetor)/sizeof(int);
float soma=0, media_=0, variancia_=0, desviopadrao_=0, somadosquadrados=0;
for (short i=0; i < tamanho; ++i){
soma += vetor[i];
}
media_= soma/tamanho;
for (short i=0; i < tamanho; ++i){
somadosquadrados += sq (vetor[i]-media_);
}
variancia_ = somadosquadrados / (tamanho-1);
desviopadrao_ = sqrt (variancia_);
Uiii assim ainda ficou melhor.
mais pequeno e limpo.:P
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por