Bonjour a tous,

Je me permet d écrire sur le forum car je rencontre une petite difficulté dans la réalisation de mon petit script de pseuo-rando:

J ai ce message d erreur:

Attempted to access Block1(0); index must be a
positive integer or logical.

Error in pseudorando (line 14)
         while (Block1(end) == ordre(end))

voici le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Block1 = [1,2,3,4,5,6,7,8,9];
ordre =[];
 
alea = randperm(9);
 Block1 = Block1(alea);
 
   for i = 1:162 %i nombre d essai
       if i==1
           ordre = Block1(end);
          Block1 = Block1(1:end-1);
       else
           cy=0;
           while (Block1(end) == ordre(end))
              cy=cy+1;
               alea2 = randperm(length(Block1))';
               Block1 = Block1(alea2);
               if cy==100
                   ordre=zeros(162,1);
                   break
               end
             end
           if ordre(1)~= 0
               ordre(end+1) = Block1(end);% dernier stim et on l assigne a l ordre
               Block1=Block1(1:end-1);% on le supprime
           end
           ordre=ordre'; % variable ordre donne séquence de stimuli pseudo rando
       end
   end
Quelqu'un aurait une petite idée pour résoudre le problème ?

D avance merci