Attempted to access x(12); index out of bounds because numel(x)=11.
조회 수: 1 (최근 30일)
이전 댓글 표시
What's wrong with this line A(n,1)= x(n); ?? I find it perfectly correct.
x = load('S_chest');
y = load('S_abdomen');
for i= 1:length(y)
w= [y(i)/(x(i)+x(i-1))];
y(i)= x(i)*w*1+x(i-1)*w*2;
end
채택된 답변
Guillaume
2017년 9월 4일
For your first piece of code, nothing guarantees that x is the same length as y.
For your second piece of code, you assign the char array 'S_chest.mat' of length 11 to x (so x(1) is simply 'S', x(2) simply '_', etc.), so of cource accessing x(12) is an error. Not sure what you meant to do.
댓글 수: 0
추가 답변 (2개)
Image Analyst
2017년 9월 4일
편집: Image Analyst
2017년 9월 4일
The code you posted has nothing to do with what is apparently giving the error. x and y are structures returned from load (not arrays), and your code has no "n" index. The error says it all. In
A(n,1)= x(n);
you're passing n equal to 12 and x only has 11 elements. So there is no 12th element of x. Note: this x is different than the structure returned from load().
Stelios Fanourakis
2017년 9월 4일
댓글 수: 1
Image Analyst
2017년 9월 4일
Looks like you've got that figured out since you've accepted an answer. Or do you still have a problem. If you still have a problem, attach the two .mat files.
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!