Attempted to access x(12); index out of bounds because numel(x)=11.
1 view (last 30 days)
Show older comments
Stelios Fanourakis
on 4 Sep 2017
Commented: Stelios Fanourakis
on 4 Sep 2017
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
Accepted Answer
Guillaume
on 4 Sep 2017
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 Comments
More Answers (2)
Image Analyst
on 4 Sep 2017
Edited: Image Analyst
on 4 Sep 2017
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
on 4 Sep 2017
1 Comment
Image Analyst
on 4 Sep 2017
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.
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!