Attempted to access x(12); index out of bounds because numel(x)=11.
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Stelios Fanourakis
le 4 Sep 2017
Commenté : Stelios Fanourakis
le 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
1 commentaire
Réponse acceptée
Guillaume
le 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 commentaires
Plus de réponses (2)
Image Analyst
le 4 Sep 2017
Modifié(e) : Image Analyst
le 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
le 4 Sep 2017
1 commentaire
Image Analyst
le 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.
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!