2015-08-21 107 views
0

我的代碼有問題。即使它正在正常工作,仍然顯示錯誤21。我的代碼中有兩個獨立的循環,只有其中一個正在工作。SCILAB循環無效索引

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

我想第三行int2 = INT1(i + 1,1)不是絕對正確的,這導致我的第二個循環不起作用。

我將不勝感激任何幫助。

+0

什麼行會導致錯誤? (Scilab告訴你)。 INT1有多大?你的代碼塊只有一個外觀;你在說什麼第二回路?代碼中只有一個「結束」,但有兩個塊需要結束:「for」和「if」。 – 2015-08-22 04:35:51

回答

0

既然你沒有提供INT1n,我不得不猜測做一個工作的例子。除此之外,您的代碼中缺少最後的end

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