Счетчик попаданий в диапазон массива

Делаю работу по матлабу, моя задача собрать статистику по попаданиям в определенный диапазон значений, полученных по закону равномерного распределения. У меня не работает счетчик, почему-то выводит нулевой результат.

Суть задачи, сделать максимально оптимизированную задачу для компьютера. Пробовал выводить рандомное значение RandomZ, оно попадает должно попадать в значения Nline, но когда в switch case я пытаюсь вывести промежуточный результат, консоль вообще ничего не выводит.

X = [0 1 2 3 4 5 6 7 8 9 10 11 12 13];
Y = [0 1 1 1 2.5 3 3.5 8 8.5 8 3 3 2.5 0];
plot (X, Y)
KusokS = [0 0 0 0 0 0 0 0 0 0 0 0 0];
Nline = [0 0 0 0 0 0 0 0 0 0 0 0 0];
Counter = [0 0 0 0 0 0 0 0 0 0 0 0 0];

Step = X(2) - X(1)
NlineOld= 0;
Sum=trapz(X, Y)

for i = 2:13
   
KusokS(i)=(X(i)-X(i-1))*0.5*(Y(i)+ Y(i-1));
Nline(i) = Nline(i) + NlineOld + (KusokS(i)./Sum);
NlineOld = Nline(i);
end
Nline
trapz (X, Y)

maximum = max(KusokS)


for j = 1:20
    
    RandomZ=rand * Step;
    switch RandomZ
    case RandomZ < Nline(1)
        Counter = Counter + [1 0 0 0 0 0 0 0 0 0 0 0];
    case RandomZ < Nline(2)
        Counter = Counter + [0 1 0 0 0 0 0 0 0 0 0 0];
    case RandomZ < Nline(3)
        Counter =  Counter + [0 0 1 0 0 0 0 0 0 0 0 0];
    case RandomZ < Nline(4)
        Counter =  Counter + [0 0 0 1 0 0 0 0 0 0 0 0];
    case RandomZ < Nline(5)
        Counter =  Counter + [0 0 0 0 1 0 0 0 0 0 0 0];
    case RandomZ < Nline(6)
        Counter =  Counter + [0 0 0 0 0 1 0 0 0 0 0 0];
    case RandomZ < Nline(7)
        Counter =   Counter + [0 0 0 0 0 0 1 0 0 0 0 0];
    case RandomZ < Nline(8)
        Counter =  Counter + [0 0 0 0 0 0 0 1 0 0 0 0];
    case RandomZ < Nline(9)
        Counter =   Counter + [0 0 0 0 0 0 0 0 1 0 0 0];
    case RandomZ < Nline(10)
        Counter =  Counter + [0 0 0 0 0 0 0 0 0 1 0 0];
    case RandomZ < Nline(11)
        Counter =   Counter + [0 0 0 0 0 0 0 0 0 0 1 0];
    case RandomZ < Nline(12)
        Counter =   Counter + [0 0 0 0 0 0 0 0 0 0 0 1];
end

j=j+1;
end

        
Counter

Ответы (1 шт):

Автор решения: Эникейщик

В case нельзя использовать сравнение < и >. Только какое-то конкретное значение или набор значений.

→ Ссылка