2015-08-21 2 views
0

J'ai un problème avec mon code. Même si cela fonctionne correctement, l'erreur 21 est toujours affichée. J'ai deux boucles indépendantes dans mon code et une seule fonctionne.SCILAB-loop-index invalide

for i=1:n 
int1=INT1(i,1); 
int2=INT1(i+1,1); 
if int1<int2 
    INT2(i,:)=INT1(i,:) 
end 

Je suppose que la troisième ligne INT2 = INT1 (i + 1,1) n'est pas tout à fait exact, ce qui cause que ma deuxième boucle ne fonctionne pas.

J'apprécierais toute aide.

+0

Quelle ligne provoque l'erreur? (Scilab vous le dit). Quelle est la taille de INT1? Il n'y a qu'un seul aspect dans votre bloc de code; De quelle deuxième boucle parlez-vous? Vous avez seulement une "fin" dans votre code, mais il y a deux blocs qui doivent être terminés: "pour" et "si". –

Répondre

0

Puisque vous n'avez pas fourni INT1 et n, j'ai dû deviner pour faire un exemple de travail. En dehors de cela, il manque un end final de votre code:

n=10; 
INT1=rand(n+1,1); 
for i=1:n 
    int1=INT1(i,1); 
    int2=INT1(i+1,1); 
    if int1<int2 
    INT2(i,:)=INT1(i,:) 
    end //termination of if statement 
end //termination of for loop