regexprep сомнение в Matlab - PullRequest
       2

regexprep сомнение в Matlab

0 голосов
/ 03 июля 2011
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?

Ответы [ 2 ]

1 голос
/ 03 июля 2011

Вероятно, это должно выглядеть следующим образом:

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 с.

0 голосов
/ 04 июля 2011

Во-первых, исправьте ваш код, как указывает PengOne.Во-вторых, обратите внимание, что 49, 50 и 51 - это коды Unicode (и ASCII) для символов «1», «2» и «3».Когда вы передаете массив типа char в xlswrite, он записывает значения Unicode для символов в этом массиве.Вы можете использовать cellfun и str2num, чтобы преобразовать все элементы ячейки в числа, подобные этим:

Z1 = cellfun(@str2num, Z);

Затем передайте Z1 в xlswrite вместо Z.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...