2012-11-22 6 views
0

내 코드에 따르면 나는 항상 실제 양의 정수 인덱스를 가지고 있습니다. (i> 1 및 2i-1> 1이므로 아무런 문제가 없어야합니다.) 여기서 무엇이 잘못되었는지 보시겠습니까?MATLAB - 진짜 양의 정수 인덱스

감사합니다, 아마데우스

>> vector=tracks(1,2).matrix 

vector = 

    33.7275 96.5223 27.9644 
    31.7655 95.9838 28.9847 
    30.6771 95.9896 29.0000 

>> length=tracks(1,2).nPoints 

length = 

    3 

>> for i=length:-1:1 
vector(2i-1,:,:)=vector(i,:,:); 
end 
Subscript indices must either be real positive integers or logicals. 

>> for i=length:-1:1 i end 

i = 

    3 


i = 

    2 


i = 

    1 
+0

'for i = length : -1 : 1'이 줄에는 하나는 아니지만 두 개의 내장 MATLAB 함수가 변수 이름으로 사용되었습니다. 일반 프로그래밍 규칙 : 내장 함수를 변수 이름으로 사용하지 마십시오. ps,'i' subscript를'j'로 바꾸지 마십시오. 'j'는 또한 inbuilt 함수입니다 :-) –

+0

[또한이 질문을 참조하십시오] (http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-intitive-integers-or-logicals) -generic-sol)에 대한 일반적인 해결책을 제공합니다 (http://stackoverflow.com/a/20054048/983722). –

답변

6

당신은 2 * i와 2I의 차이를 인식해야한다.

관련 문제