Why am I getting "Subscripted assignment dimension mismatch."

2 Ansichten (letzte 30 Tage)
Alex
Alex am 29 Nov. 2018
Bearbeitet: Ken Atwell am 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

Akzeptierte Antwort

Ken Atwell
Ken Atwell am 30 Nov. 2018
Bearbeitet: Ken Atwell am 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 Kommentare
Walter Roberson
Walter Roberson am 1 Dez. 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 am 1 Dez. 2018
Yes, I use R2010A. This works for initializing the string vector. Thank you.
h = cell(1,29);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by