필터 지우기
필터 지우기

Subscript indices must either be real positive integers or logicals.

조회 수: 2 (최근 30일)
i got this error in this code i don't know why.
c=[x(1:end-1,:),x(2:end,:)];
dx=c(:,2)-c(:,1);
t=[y(1:end-1,:),y(2:end,:)];
dy=t(:,2)-t(:,1);
ra=[];
rb=[];
for i=1:size(dx)
if dx(2i-1)>0 & dy(2i)<0;
ra(2i-1)=1;
ra(2i)=1;
end
if dy(2i-1)>0 & dx(2i)<0;
rb(2i-1)=1;
rb(2i)=1;
end
end
  댓글 수: 1
Adam
Adam 2018년 10월 25일
Which line is the error on? You can use the stop/pause on errors debug option from the Breakpoints menu to have the code stop at the line causing the error. Then it is trivial to work out what is wrong by looking at any subscript indices you are using in the command window.

댓글을 달려면 로그인하십시오.

채택된 답변

jonas
jonas 2018년 10월 25일
편집: jonas 2018년 10월 25일
It's hard to tell without having some input, but these types of lines are definitely wrong:
ra(2i)=1;
i is being interpreted as imaginary, which is why you should not use i as a looping variable.
ans =
0.0000 + 2.0000i
Could be other errors as well.
  댓글 수: 6
alireza kooshafar
alireza kooshafar 2018년 10월 25일
I have two matrices(dx dy), I'm looking for a condition to check 1. If the first array of dx was a positive (negative), the first array of dy be a negative (positive) array. 2. If the event is the first one, check if the odd arrays of dx and dy will all be the same and the even arrays are exactly the opposite.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by