確率分布を表すデータ ポイントのリストがあります。このディストリビューションに統合する必要があります。ただし、関数がなく、データ ポイントのセットしかないため、確率分布を表す次のコードを思い付きました。
dList1 = Import["Z-1.txt", "Table"];
dList2 = Import["Z_over-1.txt", "Table"];
dDist[X_,sym_] := (
dList = 0;
If[sym,
dList = dList1;
,
dList = dList2;
];
val = 0;
If[Abs[X] < Pi,
i = 2;
While[dList[[i]][[1]] < X, i++];
width = dList[[i]][[1]] - dList[[i-1]][[1]];
difX = dList[[i]][[1]] - X;
difY = dList[[i]][[2]] - dList[[i-1]][[2]];
val = dList[[i-1]][[2]] + (1-(difX/width)) difY;
];
Return[val];
);
データ ポイントのセットはテキスト ファイル内にあります。
次のコマンドを実行します。
Plot[dDist[x, True], {x, -1, 1}]
これを与える:
一方、これを実行する:
NIntegrate[dDist[x, True], {x, -1, 1}]
次の警告とともにゼロに評価されます。
MinRecursion を無駄に増やしてみました。何をすべきかわからないので、dDist 関数の変更など、どんな提案も受け付けます。