Mam plik data.txt
z dwoma kolumnami i N wierszy, coś takiego:Matlab, jak obliczyć AUC (obszar pod krzywą)?
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
[...]
Każda para wartości w pliku odpowiadają jednej współrzędnych punktów (x, y). Po wykreśleniu, punkty te generują krzywą. Chciałbym obliczyć powierzchnię pod krzywą (AUC) tej krzywej.
Więc załadować dane:
data = load("data.txt");
X = data(:,1);
Y = data(:,2);
Więc X
zawiera wszystkie x współrzędne punktów i Y
wszyscy y współrzędnych.
Jak mogę obliczyć powierzchnię pod krzywą (AUC)?
To zależy. Czy [reguła trapezowa] (http://en.wikipedia.org/wiki/Trapezium_rule) jest dla ciebie wystarczająco dobra? –
http://www.mathworks.com/matlabcentral/fileexchange/24597-area-under-a-curve –
@Robert: wygląda na to, że jest to obszar pod krzywą funkcji * (Matlab ma całą masę ' funkcje quad'xxxx()). OP szuka numerycznej integracji danych. –