求教:在数值矩阵的元素前加字母
matlab吧
全部回复
仅看楼主
level 1
figodxl 楼主
把数值型矩阵A=[1,2;3.3,4](部分元素有小数点)变成B=[X1,Y2;X3.3,Y4],就是在A的每个元素前加上一个字母,B的类型,元素类型都不限
[email protected]
2012年08月21日 13点08分 1
level 8
num_mat=[1 2;3.3 4]; %数值矩阵
str_mat=num2str(num_mat(:)); %转成字符
cell_mat=cellstr(str_mat); %转成单元列阵
%Convert2Str_Cell=reshape(cellstr(num2str(num_mat(:))), size(num_mat)); %跟上两行相同,合并成一行
prepend_cell={'x','y';'x','y'};%要加的字母,大小要和数值矩阵相同。
for i = 1:length(cell_mat)
cell_mat{i}=regexprep(cell_mat{i},' ','');%修改一下可能会有的字符串含空格的问题
end
str_cell=reshape(cell_mat,size(num_mat));%改回到数值矩阵的形态
combined_str_cell=strcat(prepend_cell,str_cell);%合并字符串
2012年08月24日 12点08分 2
level 1
figodxl 楼主
3Q very much
2012年08月28日 11点08分 3
1