# how can i remove this error in matlab?

2 vues (au cours des 30 derniers jours)
rabia le 14 Juil 2012
for i=1:n-1
c(i,:)=blanks(n*n);
end
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponses (2)

Sargondjani le 14 Juil 2012
ermm, what error? and what do you actually want the line to achieve? i mean, the code wants to assign a matrix with blanks to column vector...
##### 3 commentairesAfficher 1 commentaire plus ancienMasquer 1 commentaire plus ancien
Image Analyst le 14 Juil 2012
Modifié(e) : Image Analyst le 14 Juil 2012
Set a breakpoint on that line. In the command window, what does this say
whos c
whos n
Are you absolutely sure c has at least n-1 rows and n*n columns, and are you absolutely sure n is not an array? How did you get c and n in the first place, before you got to the for loop?
rabia le 15 Juil 2012
it gives the ans 1x1 for all c,n and i !

Connectez-vous pour commenter.

Star Strider le 14 Juil 2012
This works fine for me:
n=4;
for k1 = 1:n-1
c(k1,:) = blanks(n*n);
end
Variable ‘c’ is listed as a [3 x 16] character array.
The index ‘i’ may be the problem. Please don't use ‘i’ or ‘j’ for indexing, since MATLAB uses them for its imaginary operators.
If that's not the problem, did you use ‘c’ somewhere earlier in you code as a constant or as vector or as a smaller matrix?
##### 4 commentairesAfficher 2 commentaires plus anciensMasquer 2 commentaires plus anciens
Image Analyst le 15 Juil 2012
He said the code worked separately but not in his program. So obviously his program is different than the simplified snippet he shared with us. rabia really needs to learn how to debug using the built in debugger rather than the Answers forum. Debugging with the debugger is so much faster and more efficient than debugging via forum messages. rabia, is there some reason why you're not using the debugger to solve your problem?
Star Strider le 15 Juil 2012
My impression was that he followed your previous suggestion, set a breakpoint, and found that ‘c’ ‘n’, and ‘i’ were all [1x1]. That may have been the first loop iteration. He might have discovered his error (still undetermined) if he had stepped through his loop using the debugger and examined ‘c’ at each iteration. He didn't, so I'm offering an alternative approach such as I used in pre-debugger MATLAB.
My latest suggestion is to provide him with a strategy to see what ‘c’ is doing, since that seems to be the problem, and possibly discover where it's throwing the error. It's easier than explaining the debugger functions.

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Loops and Conditional Statements 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!

Translated by