Autor Tema: funcion matematica integrar en pic  (Leído 2362 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado hernanutn

  • PIC16
  • ***
  • Mensajes: 117
funcion matematica integrar en pic
« en: 01 de Noviembre de 2014, 16:44:47 »
hola, mi consulta como debo realizar el codigo c para integrar valores sensados.. desde ya gracias

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: funcion matematica integrar en pic
« Respuesta #1 en: 01 de Noviembre de 2014, 17:21:06 »
Basandome en lo que es "el area debajo de la curva" y pensando como uno llega a la integral, y ademas como es discreto y no tenes otro valor entre muestras. Lo unico que se me ocurre es por aproximaciones rectangulares. Asi como cuando te explican integrales por primera vez.

Sabiendo el intervalo de tiempo y el valor de la función ( lo que te da el ADC ), vas sumando cada una de las areas. Mientras mas pequeño sea el intervalo de tiempo mas próximo va ser el valor a la integral continua.

Podes tomar como si el valor del ADC fuera el comienzo de la grafica, tal cual como dice en Sumas superiores
O Tambien lo podes pensar de la otra forma y llegar a como en el grafico muestra Sumas inferiores.
Tanto como en una como en otra te sobra o te falta



Creo que lo mas correcto es:
Hacer una suma de los 2 ultimos valores que entran al ADC, lo dividis por 2 ( rotas 1 sola posicion ), asi te queda una aproximacion trapezoidal. Al menos es lo mas aproximado que pienso, y como dije antes, mientras mas corto el tiempo entre muestras mejor

{ [f(Xn) + f(Xn-1)] / 2 } * deltaX

Para que lo entiendas te dejo un video ( OJO que en el caso del video es una funcion continua y el 3er caso que muestra no puede realizarse en estos casos, por razones obvias )

« Última modificación: 01 de Noviembre de 2014, 17:39:27 por KILLERJC »

Desconectado hernanutn

  • PIC16
  • ***
  • Mensajes: 117
Re: funcion matematica integrar en pic
« Respuesta #2 en: 01 de Noviembre de 2014, 17:51:08 »
gracias

Desconectado xxopiumxx

  • PIC12
  • **
  • Mensajes: 82
Re: funcion matematica integrar en pic
« Respuesta #3 en: 04 de Noviembre de 2014, 13:29:42 »
yo lo he hecho en CCS como describe KILLERJC, a fin de sacar valor eficaz de una señal en tiempo real y funciona muy bien.
si conseguis un tiempo de muestreo multiplo de potencia de dos podes dividir por shifting y sale volando

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: funcion matematica integrar en pic
« Respuesta #4 en: 07 de Noviembre de 2014, 18:20:05 »
float integral(float a, float b, float (*f) (float))
{
   float sum = 0.0;
   float x;
   int n;
   //Evaluar la integral {a,b} en f(x)
   for(n = 0; n <= 100; n++)
   {
      x = ((n / 100.0) * (b-a)) + a;
      sum += (f(x)*(b-a)) / 101.0;
   }
   return sum;
}

//Adapatado del ejemplo en http://en.wikipedia.org/wiki/Function_pointer
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32