modify shape of char array

5 次查看(过去 30 天)
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

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2015-1-6
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 个评论
Matteo Niccoli
Matteo Niccoli 2015-1-6
编辑:Matteo Niccoli 2015-1-6
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);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by