Why am I getting "Subscripted assignment dimension mismatch."

2 vues (au cours des 30 derniers jours)
Alex
Alex le 29 Nov 2018
Modifié(e) : Ken Atwell le 3 Jan 2019
Hello,
I keep getting this error when I run the code on a certain dataset. but have used this code before without problems. For some reason it does not work past the second iteration.
for k=1:29
h(k,:) =sprintf('aircraft at %3.4f degrees latitude', parnam{1,k}.data(1,1)) ;
end
Untitled.png

Réponse acceptée

Ken Atwell
Ken Atwell le 30 Nov 2018
Modifié(e) : Ken Atwell le 3 Jan 2019
It looks like you're trying to create a 2D matrix of char(acter)s. For this to work, each char vector needs to be exactly the same length. If you are on a recent-ish version of MATLAB, a vector of string might serve you better:
h = strings(1,29);
for k=1:29
h(k) =sprintf('aircraft at %3.4f degrees latitude', parnam{1,k}.data(1,1)) ;
end
  3 commentaires
Walter Roberson
Walter Roberson le 1 Déc 2018
You do not have "a recent-ish version of MATLAB".
h = cell(1,29);
for k=1:29
h{k} = sprintf('aircraft at %3.4f degrees latitude', parnam{1,k}.data(1,1)) ;
end
Alex
Alex le 1 Déc 2018
Yes, I use R2010A. This works for initializing the string vector. Thank you.
h = cell(1,29);

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by