2009-03-08 16 views
7

Google "belirsizlik aritmetik" zor ve hemen yararlı bir şey almak, sözler "belirsiz" ve "belirsizlik", her yerde bulunan göz önüne alındığındaİyi bir belirsizlik (aralık) aritmetik kütüphanesi?

düzenlenebilir. Orada için yaklaşık değerlerdir rekor değerlere

Kullanım belirsizlik aritmetik,: Böylece herkes bu açıklama gereği belirsiz değerlerin işlenmesini uygulayan hemen hemen herhangi bir programlama/kodlama dili rutinlerin iyi kütüphane, önerebilirsiniz ölçülen bir toleranstır. Bu, bir değerden emin olmadığımız zaman, ancak bir ± değeri olarak ifade edilen üst ve alt sınırların bilinmesidir.

cevap

1

Bu bir kütüphane değil, ama soru olasılık iş akışları anlatılmaktadır "Uzman F #" bir örnek hatırlattı: yerine diyelim ki, hesaplamak için yazılı anlatım, tamsayılar

, bunun yerine ifadeleri yazma tamsayıların dağılımını hesaplar. Bu örnek olay Sen alıntıyı on google books okuyabilir 2002

gelen Ramsey ve Pfeffer tarafından bir kağıda dayanmaktadır.

1

Herhalde böyle (psuedocode) gibi yöntemlerle ve özelliklere sahip, UncertainValue denilen bir sınıf bildirerek bu konuda gitmek istiyorum: Bu bir ön bulma açısından sorunuza cevap vermez gerçekleştirmek

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

yapımı kitaplık, üzgünüm.

3

Thomas Flanagan'ın Error Propagation Java sınıfına bir göz atın. Kullandığı yaklaşım, aşırı sıkıntı olmadan belirsizliği ele almak için en mükemmel olanıdır.

4

(bu interval arithmetic farklıdır, ancak hata yayılma yaygın bilim adamları tarafından kullanılan budur) bir error propagation modül arıyorsanız, benim uncertainties Python modülü de bakabilirsiniz öneririm. Hata/belirsizlik yayılımını şeffaf bir şekilde ele alır ve birçok uygulamanın aksine, değişkenler arasındaki ilişkileri düzgün bir şekilde ele alır. referans için

3

, sizin için çok geç muhtemelen gibi ben EĞİLİMİ/profile öneririm: http://www.ti3.tuhh.de/keil/profil/index_e.html

+0

Bu durumda, – bugmagnet

+0

asla çok geç değil! Bir kullanıcı olarak gördüğüm vakadaki özellikleri, BIAS'ın Profil'den bazı C++ özelliklerine sahip bir C kütüphanesi olması; bilgisayar sayısal hatası için hesaplar; hatalarınız ortalanmışsa, nominal değere doğrudan erişim; çok boyutlu analizler için aralıkların vektörü; tam aritmetik dahil (aralıklar, vektörler, matrisler üzerinde aralık aritmetiği ile olağan işlemler); Son olarak, dokümantasyonun 3. bölümünün ilk sayfalarını kullanmaya başlamak kolaydır: birkaç uyarı/bilgi ve her türdeki tüm işlemlerin tabloları. – luneart