2009-03-08 18 views
7

editado¿Una buena biblioteca aritmética de incertidumbre (intervalo)?

Teniendo en cuenta que las palabras "incierta" e "incertidumbre" son bastante ubicua, es difícil de Google "aritmética incertidumbre" y obtener algo de inmediato útil. Por lo tanto, puede alguien sugerir una buena biblioteca de rutinas, en casi cualquier lenguaje de programación/scripting, que implementa la gestión de los valores inciertos, de acuerdo con esta descripción:

Uso incertidumbre aritmética a registrar valores que son aproximaciones, para los que no es una tolerancia medida Esto es cuando no estamos seguros de un valor, pero conocemos los límites superior e inferior que puede tener, expresado como un valor ±.

Respuesta

1

No es una biblioteca, pero su pregunta me recordó un ejemplo en el "Experto F #" que describe los flujos de trabajo probabilísticos:

En lugar de escribir expresiones para calcular, por ejemplo, números enteros, que en lugar de escribir expresiones que calcula distribuciones de enteros. Este estudio de caso se basa en un documento de Ramsey y Pfeffer de 2002.

Puede leer el extracto on google books.

1

probablemente me vaya de este declarando una clase llamada UncertainValue, con métodos y propiedades, tales como (psuedocode):

class UncertainValue 
{ 
    private double upperbound; 
    private double lowerbound; 
    private double nominalvalue; 
    private double certainty; 
    ... 
    UncertainValue add(UncertainValue value); 
    UncertainValue multiply(UncertainValue factor); 
} 

Me di cuenta que no responde a tu pregunta en términos de encontrar un pre Hecho en la biblioteca, lo siento.

3

Eche un vistazo a la clase Java de Thomas Flanagan Error Propagation. El enfoque que utiliza es excelente para manejar la incertidumbre sin problemas excesivos.

4

Si usted está buscando un módulo error propagation (esto es diferente de interval arithmetic, pero la propagación de errores es lo que se utiliza comúnmente por los científicos), sugeriría que usted tiene un vistazo a mi módulo de Python uncertainties. Maneja la propagación de error/incertidumbre de forma transparente y, al contrario que muchas implementaciones, maneja adecuadamente las correlaciones entre las variables.

3

para referencia, ya que es probablemente demasiado tarde para ti, me gustaría sugerir BIAS/Perfil: http://www.ti3.tuhh.de/keil/profil/index_e.html

+0

En este caso, nunca es demasiado tarde – bugmagnet

+0

¡Bien! sus características en su caso que veo como usuario serían que BIAS es una biblioteca C, con algunas características C++ de Profil; representa el error numérico de la computadora; si tus errores están centrados, acceso directo al valor nominal; vector de intervalos para análisis multidimensionales; se incluye la aritmética completa (operaciones usuales con el giro de la aritmética de intervalos en intervalos, vectores, matrices); Finalmente, es fácil comenzar a utilizar las primeras páginas del capítulo 3 de la documentación: algunas advertencias/informaciones y tablas de todas las operaciones para cada tipo. – luneart

Cuestiones relacionadas