Почему мы должны установить r = r + 1, когда (x (t) -rangeX (r)) * (x (t) -rangeX (r + 1))> 0 в коде равномерной переменной - PullRequest
0 голосов
/ 05 марта 2019
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. Почему мы сначала создаем нулевую матрицу 1 на length(rangeX)-1, а не нулевую матрицу 1 на length(rangeX)

    Count=zeros(1,length(rangeX)-1);
    
  2. Почемумы устанавливаем 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
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...