问题背景:Matlab 编程中有时需要将二维数组中的列或行转换成集成的字符串,效果如下,例如:
数组 a = [1 2; 3 4]; 将数组a的第1、2列转换成字符串 b = [‘1,2,’; ‘3,4,’]。
方法如下:
步骤一:将数组中的列/行数据转成字符,存入元胞数组中;
步骤二:将元胞数组中的元素通过sprintf命令,进行集中存储。
for i = 1:length(a(:,1))
a1{i,1}= num2str(a(i,1));
a1{i,2}= num2str(a(i,2));
end
b = cell(1,size(a,2));
b{1,1} = sprintf('%s,',a1{:,1});
b{1,2} = sprintf('%s,',a1{:,2});
程序执行效果如下:
程序执行后,cell数组b中包含两个子cell
其中