6

編集済み

「不確実性」と「不確実性」という言葉がかなり遍在していることを考えると、「不確実性算術」をグーグルで調べてすぐに役立つものを得るのは難しい. したがって、この説明に従って、不確実な値の処理を実装する、ほぼすべてのプログラミング/スクリプト言語で、ルーチンの優れたライブラリを誰でも提案できます。

不確実性演算を使用して、測定された許容誤差がある近似値を記録します。これは、値について確信が持てない場合ですが、許容される上限と下限はわかっており、±値で表されます。

4

7 に答える 7

6

区間演算」は、あなたが探しているもののより一般的な名前だと思います。 boost :: intervalは、サポートライブラリの最初の選択肢になります。

于 2009-03-08T16:32:57.947 に答える
5

エラー伝播モジュールを探している場合(これは区間演算とは異なりますが、エラー伝播は科学者によって一般的に使用されているものです)、私のuncertaintiesPython モジュールを確認することをお勧めします。エラー/不確実性の伝播を透過的な方法で処理し、多くの実装とは異なり、変数間の相関を適切に処理します。

于 2009-09-23T13:27:14.623 に答える
3

Thomas Flanagan のError Propagation Java クラスを見てください。それが使用するアプローチは、余分なトラブルなしで不確実性を処理するのに最も優れています。

于 2009-03-08T15:57:46.173 に答える
1

これはライブラリではありませんが、あなたの質問で、確率的ワークフローを説明する「Expert F#」の例を思い出しました。

たとえば整数を計算する式を書く代わりに、整数の分布を計算する式を書きます。このケース スタディは、2002 年の Ramsey と Pfeffer による論文に基づいています。

グーグルブックスで抜粋を読むことができます。

于 2009-03-08T14:36:35.730 に答える
1

(疑似コード) のようなメソッドとプロパティを使用して、UncertainValue というクラスを宣言することで、おそらくこれを実現できます。

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

既製のライブラリを見つけるという点で、これはあなたの質問に答えていないことを理解しています。申し訳ありません。

于 2009-03-08T15:21:47.570 に答える