在 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')
我在 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')