MATLAB Answers

how to permute the sequence? why it takes to much time .

2 views (last 30 days)
Sultan Mehmood
Sultan Mehmood on 25 Jun 2019
Commented: Guillaume on 26 Jun 2019


Show 4 older comments
Sultan Mehmood
Sultan Mehmood on 25 Jun 2019
so how we initialize the permutation sequence T.?
if given below is waste of time
flag = zeros(1,L);
T = num2cell(randperm(65536, 65536)); % ???
T = flag;
Jan on 26 Jun 2019
@Sultan: How could I know this? You did not explain what "initializing the permutation sequence" means. All I know is using an expensive call of num2cell(randperm()) is wasted, if you replace the result in the next line.
Please read your question again. Remember, that the readers cannot know, what this means: "Iterate the PWLCM x_i+1=F(x_i) by using (2) for N_0 times to get rid of the transient effect." The first sentence is not clear for the readers already. Then all we can do is to find some inconsistencies in your code, e.g. you use j(i) sometimes, but the complete vector j other times.
Guillaume on 26 Jun 2019
What's really missing from the question is some context. We've been given the middle of an algorithm with no explanation of what it's trying to do. My feeling is that this algorithm is probably badly designed for matlab.
In particular, the
mod(floor(x*1e15, L)) + 1
with L = 65536 looks like a poor attempt at manipulating floating point numbers at the bit level. There are faster ways of manipulating bits. The + 1 is also puzzling, without it you get numbers that fit into a uint16, with it 99.9985% of the possible numbers fit on 16 bits, and one number, 65536, requires 17 bits.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!