在 Matlab 中将元胞数组的字符串值批量替换为整数

Mass replacement of string values of a cell array to integer in Matlab

我在 MATLAB 中有一个包含 1 列和 310 行的元胞数组,其中包含以下不同的字符串值,'AB' 和 'NO'。仅供参考,210 个值是 'AB',其余 100 个是 'NO'。

如何将它们分别更改为 1 和 0? 请记住,转换值的格式应该是整数。谢谢!

您可以只使用 ismember 来查找元胞数组中的所有 'AB' 值。它将产生一个 1 ,其中有一个 'AB'0 否则。

data = {'AB'; 'NO'; 'AB'; 'AB'; 'NO'};

result = ismember(data, 'AB');
%   1   0   1   1   0

这将产生 logical 个值。如果您需要它们是整数,您可以使用 uint8.

转换结果
result = uint8(result)

除了ismember你还可以使用strcmp以同样的方式为你进行字符串比较

strcmp(data, 'AB')