Subscript indices must either be real positive integers or logicals
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi everybody, I wrote this code but it's seems that it has some problems. Could you help me figure out my mistakes? Thank you!
A=[1,2,5,4,1,2,3,6; 1,4,5,6,0,0,0,0;2,3,2,5,6,0,0,0];
nsim=3;
M=6;
TRI=zeros(M,M,nsim);
k=1;
while(k<3)
m=1;
while(m<length(A(1,:)))
TRI(A(k,m),A(k,m+1),k)++;
m++;
end
k++;
end
1 commentaire
Jan
le 19 Juin 2013
Please be more specific. "It seems that is has sime problems" conatins too few information about the occurring problems.
Réponse acceptée
Kye Taylor
le 18 Juin 2013
Modifié(e) : Kye Taylor
le 18 Juin 2013
There are several issues you need to resolve with your code before it will run. First, there is no increment operator in MATLAB, so expressions like
k++;
need to be replaced with
k = k+1;
Once you make those changes, you'll get an error about indexing... something like
Attempted to access TRI(6,0,2); index must be a positive integer or logical.
This is because the matrix A has zeros as entries, and you're using the entries of A to index into TRI. Since I don't know your end goal, I can't suggest with much certainty how to fix that error, but the code below will run. I've added comments to every line i changed. See if it produces what you're looking for and if not, respond with the issue...
A=[1,2,5,4,1,2,3,6; 1,4,5,6,0,0,0,0;2,3,2,5,6,0,0,0];
A = A + 1; % now indices are between 1 and 7 instead of 0 and 6
nsim=3;
M=7; % changed to 7 to make TRI big enough for indices in A
TRI=zeros(M,M,nsim);
k=1;
while(k<3)
m=1;
while(m<length(A(1,:)))
TRI(A(k,m),A(k,m+1),k) = TRI(A(k,m),A(k,m+1),k) + 1; % no increment op.
m=m+1; % no increment op.
end
k = k+1; % no increment op.
end
3 commentaires
Kye Taylor
le 18 Juin 2013
Modifié(e) : Kye Taylor
le 18 Juin 2013
When I use the code that I provided above. There are not zeros in TRI(:,:,2), so please provide your modified code (as formatted code so it is easy to copy/paste).
Also, what do you expect to be in TRI(:,:,2).. .you can describe this to me in words.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Numeric Types 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!