Z = {'A'; 'B'; 'C'};
Z=regexprep(Z,'A','1');
Z=regexprep(A,'B','2');
Z=regexprep(A,'C','3');
xlswrite('data.xls', A);
data.xls中的数据变为49 50 51.为什么数据不是1 2 3?
答案 0 :(得分:1)
这应该是:
Z = {'A'; 'B'; 'C'};
Z=regexprep(Z,'A','1');
Z=regexprep(Z,'B','2');
Z=regexprep(Z,'C','3');
xlswrite('data.xls', Z);
请注意您拥有Z
的最后3行中的A
。
答案 1 :(得分:0)
首先,修正您的代码,如PengOne所指出的那样。其次,请注意49,50和51是字符“1”,“2”和“3”的Unicode(和ASCII)代码。将类型char
的数组传递给xlswrite
时,它会写出该数组中字符的Unicode值。您可以使用cellfun和str2num将单元格的所有元素转换为如下数字:
Z1 = cellfun(@str2num, Z);
然后将Z1
传递给xlswrite
而不是Z
。