Question

Some one gave me this code to implement but I am not able to understand what Line 8 does in the code below. What does this mean y(y

clear;
lambda=0.1;
T=100;
M=50;
for i=1:M
 x=exprnd(1/lambda,1,2*lambda*T);
 y=cumsum(x);
pp{i}=y(y<T);
end
Was it helpful?

Solution

If line 8 is pp{i} = y(y < T), then it's creating a "cell array" (so now you can google it) with the {} syntax and setting element i to all the values in y that are less than T (i.e. 100)`. That is:

y<T

is an array the size of y with 1 in the places where the corresponding element of y is less than T.

y(y<T)

is then selecting only those elements. So it is probably smaller than y, and all the entries are less than T.

And then:

pp{i} = y(y<T)

is assigning that array to element i of a "cell array". Cell arrays are like normal arrays except that each element can be a different type or a different size.

OTHER TIPS

it means, retrieve all items of vector y where y[i] < T

see also the find method

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top