Borrar filtros
Borrar filtros

Why do we set r=r+1 when (x(t)-rang​eX(r))*(x(​t)-rangeX(​r+1))>0 in the uniform variables code

1 visualización (últimos 30 días)
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]);
I get this code from the class,and this code is about the uniform variables,in this code,i have some lines that i don't understand ,i hope someone can explain them to me.
1.
Count=zeros(1,length(rangeX)-1);
why do we create the 1 by length(rangeX)-1 zero matrix first,but not 1 by length(rangeX) zero matrix ?
2.
while (x(t)-rangeX(r))*(x(t)-rangeX(r+1))>0
r=r+1;
end
I don't understand the meaning of these three lines code,why do we set r=r+1 when (x(t)-rangeX(r))*(x(t)-rangeX(r+1))>0

Respuesta aceptada

darova
darova el 5 de Mzo. de 2019
while (x(t)-rangeX(r))*(x(t)-rangeX(r+1))>0
is the cheking if x(t) is not in
its the same as:
while ~( rangeX(r) < x(t) && x(t) < rangeX(r+1) )
  2 comentarios
yang-En Hsiao
yang-En Hsiao el 5 de Mzo. de 2019
so if x(t) is not between the rangeX(r) and rangeX(r+1),so.........what?why should i write this code?
darova
darova el 6 de Mzo. de 2019
You shoudn't, just showed you an example.
if x(t) is not between that range we r = r+1 (we examine another range). And when x(t) is IN the range we quit from while loop.
Untitled.png
In another words: we searching range for x(t)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Graphics Object Programming en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by