Why do I get "Array indices must be positive integers or logical values" error ?

3 views (last 30 days)
Plot_X = 0:0.01:1
Per = quantile(SUSC,1:-0.01:0)
for i = 1:101
if i <101
Plot_Y(i) = sum(CAT(SUSC>=Per(100-i))) / sum(CAT,'all')
else
Plot_Y(i) = sum(CAT(SUSC>=0)) / sum(CAT,'all')
end
end
AUC= round(100*trapz(Plot_X,Plot_Y),1)
the error is in the line 7
Plot_Y(i) = sum(CAT(SUSC>=Per(100-i))) / sum(CAT,'all')

Answers (1)

Voss
Voss on 5 Sep 2024
When i is 100, Per(100-i) is Per(0), which causes the error since 0 is not a valid index in MATLAB.

Categories

Find more on Two y-axis in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!