modify shape of char array

10 views (last 30 days)
I have this 10x6 character array:
250F20
271022
291124
2B1326
2E1429
2E1532
2D153C
2D1743
2D184D
2D1954
I would like to convert it to a 10x1 array where each element is a 6-character string. I got what I wanted with a cell array of strings:
cc=cellstr(array);
But I wonder why something like this would not work:
[a,b] = size(array);
for i=1:a
s(i)= strcat(array(i,1),array(i,2),array(i,2),array(i,3),array(i,4),array(i,5),array(i,6));
end
clear i

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 6 Jan 2015
Use s{} instaed of s()
[a,b] = size(array);
for i=1:a
s{i,1}= strcat(array(i,1),array(i,2),array(i,2),array(i,3),array(i,4),array(i,5),array(i,6))
end
  1 Comment
Matteo Niccoli
Matteo Niccoli on 6 Jan 2015
Edited: Matteo Niccoli on 6 Jan 2015
Hi Azzi, thank you - of course! - it worked. Further question: assuming I vectorized your recommended solution, which one would be preferable, the latter, or
cc=cellstr(array);

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!