problem in struct
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi
I have :
x1(1:length(y),1:length(x))=0;
txt(1:length(y),1:length(x))=' ';
mat=struct('scor',x1,'pointer',txt);
mat.pointer(1,1:end)='none'
??? Subscripted assignment dimension mismatch.
how resolve this problem?
0 commentaires
Réponse acceptée
Image Analyst
le 6 Mai 2012
First of all, y is not defined. And what is the size of mat.pointer? Set a breakpoint on the line (I know you know how to do this because you've been around here long enough), and do this:
size(mat.pointer)
If it's not a 1 row by 4 column character array, then the size of mat.pointer and 'none' don't match. And, needless to say, because you're using "end" mat.pointer must already exist, which it might because I can tell you've left out some code.
3 commentaires
Image Analyst
le 6 Mai 2012
I can't reproduce. I ran your code (below) and it generated no error message whatsoever.
x = 1:2; % Make some arbitrary verctor of length 2
y = 3:4; % Make some arbitrary verctor of length 2
% Note:
% length(x) = 2
% length(y) = 2
x1(1:length(y),1:length(x)) = 0
txt(1:length(y),1:length(x)) = ' '
mat = struct('scor',x1,'pointer',txt)
mat(1,1:end).scor = 0
mat(1,1:end).pointer = 'none'
Does that code produce the mat that you desire?
Plus de réponses (0)
Voir également
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!