2015-08-21 105 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