Matlab、AUC(曲線下面積)の計算方法について教えてください。
2列N行のファイルdata.txt
があるのですが、以下のような感じです。
0.009943796 0.4667975
0.009795735 0.46777886
0.009623984 0.46897832
0.009564759 0.46941447
0.009546991 0.4703958
0.009428543 0.47224948
0.009375241 0.47475737
0.009298249 0.4767201
[...]
ファイル内の数個の値は、1つの点の座標(x,y)に対応しています。 プロットすると、この点は曲線を生成します。この曲線の曲線下面積(AUC)を計算したい。
そこで、データをロードする。
data = load("data.txt");
X = data(:,1);
Y = data(:,2);
つまり、X
にはすべての点の x 座標が、Y
にはすべての y 座標が格納されています。
曲線下面積 (AUC) はどのように計算するのですか?
7
3
最も簡単な方法は、台形規則関数
trapz
です。しかし、MATLABには数値データをSimpsonの法則で積分する機能は組み込まれていません。(& xが定常的に増加しないx/yデータに対してどのように使うかはわかりません)
を追加するだけです。 AUC = trapz(X,Y)を追加します。 をプログラムに追加するだけです。 を追加すると、曲線下の面積が得られます。
みたいなことができるんです。