-1
我試圖使用現有的一組值的使用下面的命令來繪製ROC曲線的繪製曲線在MATLAB如何使用一組點
plot(X1,Y1,'--rs',X2,Y2,'-*g');
凡X1
,Y1
,X2
和Y2
是具有相同大小的矩陣
但是,此命令產生的直線是直線。
我怎樣才能讓他們曲線。
感謝 阿齊茲
我試圖使用現有的一組值的使用下面的命令來繪製ROC曲線的繪製曲線在MATLAB如何使用一組點
plot(X1,Y1,'--rs',X2,Y2,'-*g');
凡X1
,Y1
,X2
和Y2
是具有相同大小的矩陣
但是,此命令產生的直線是直線。
我怎樣才能讓他們曲線。
感謝 阿齊茲
MATLAB默認使用近似直線繪製在控制點之間的曲線圖。如果你願意,你可以在點之間插入插入以產生更真實的圖。嘗試使用interp1
和'spline'
選項,並查看結果如何。因此,計算出X1
和X2
的最小值和最大值,然後在最小和最大粒度之間定義一個網格點。一旦你這樣做,把它扔進interp1
並繪製你的曲線。喜歡的東西:
%// Find dynamic range of domain for both Xs
minX1 = min(X1);
maxX1 = max(X1);
minX2 = min(X2);
maxX2 = max(X2);
%// Generate grid of points for both Xs
x1Vals = linspace(minX1, maxX1, 100);
x2Vals = linspace(minX2, maxX2, 100);
%// Interpolate the curves
y1Vals = interp1(X1, Y1, x1Vals, 'spline');
y2Vals = interp1(X2, Y2, x2Vals, 'spline');
%// Plot the results
plot(x1Vals,y1Vals,'--rs',x2Vals,y2Vals,'-*g');
linspace
從一端到另一端產生點的網格,並予指定這些點100。然後我們用我們討論的指定控制點(X1,Y1,X2,Y2
)的方式使用interp1
,然後指定我想插入的值。我使用插值後的輸出值並繪製曲線。
'plot'總是用直線連接數據。通常的安全措施是讓數據點如此接近以至於你不會注意到 – 2014-11-20 22:57:39
我爲你寫了一個答案。你需要更多幫助嗎? – rayryeng 2014-11-21 17:29:56