a=3;
b=7;
T=10^6;
BinW=0.01;
x=zeros(1,T);
rangeX=3:BinW:7;
Count=zeros(1,length(rangeX)-1);
for t=1:T
u=rand(1);
x(t)=a+(b-a)*u
r=1;
while (x(t)-rangeX(r))*(x(t)-rangeX(r+1))>0
r=r+1;
end
Count(r)=Count(r)+1;
end
bar(rangeX(1:length(rangeX)-1),Count);
axis([2.5 7.5 0 3000]);
Я получаю этот код из класса, и этот код о равномерных переменных, в этом коде у меня есть некоторые строки, которые я не понимаю, я надеюсь, что кто-то может объяснить их мне.
Почему мы сначала создаем нулевую матрицу 1 на length(rangeX)-1
, а не нулевую матрицу 1 на length(rangeX)
Count=zeros(1,length(rangeX)-1);
Почемумы устанавливаем r=r+1
когда (x(t)-rangeX(r))*(x(t)-rangeX(r+1))>0
?
while (x(t)-rangeX(r))*(x(t)-rangeX(r+1))>0
r=r+1;
end