Matlab 为字符串向量赋值

Matlab 为字符串向量赋值,matlab,cell,Matlab,Cell,我有一个字符串单元格数组,需要给它们赋值 interval = {'Active', 'Active', 'Active', 'Active', 'Active', 'Active', 'Rest', ... 'Rest', 'Rest', 'Rest','Active', 'Active', 'Active', 'Active'} 如何将值1指定给活动,将值0指定给静止? 我试着用这个: intervalNum = zeros(length(interval), 1); for n =

我有一个字符串单元格数组,需要给它们赋值

interval = {'Active', 'Active', 'Active', 'Active', 'Active', 'Active', 'Rest', ...
'Rest', 'Rest', 'Rest','Active', 'Active', 'Active', 'Active'}
如何将值1指定给活动,将值0指定给静止? 我试着用这个:

intervalNum = zeros(length(interval), 1); 

for n = 1:length(interval) 
   if interval(n) == 'Active'
      i = 1;
   else
      i = 0;
   end
   intervalNum(n) = i; 
end
但它显示了一个错误: 类型为“cell”的输入参数的未定义运算符“==”

我认为这个错误是由于if语句“if interval(n)=“Active”造成的,但无法找出错误所在


请帮忙。谢谢

要比较字符串,需要使用此处指定的strcmp函数:

或者更好的方法是,移除回路并使用路易斯·门多建议的方法:

intervalNum = cellfun(@(x) strcmp(x, 'Active'), interval)

intervalNum = ismember(interval, 'Active'); %Alternative provided by Luis Mendo
intervalnum(strcmp('Active',interval))=1
或者比尔博基建议的方法:

intervalNum = cellfun(@(x) strcmp(x, 'Active'), interval)

intervalNum = ismember(interval, 'Active'); %Alternative provided by Luis Mendo
intervalnum(strcmp('Active',interval))=1

要比较字符串,需要使用此处指定的strcmp函数:

或者更好的方法是,移除回路并使用路易斯·门多建议的方法:

intervalNum = cellfun(@(x) strcmp(x, 'Active'), interval)

intervalNum = ismember(interval, 'Active'); %Alternative provided by Luis Mendo
intervalnum(strcmp('Active',interval))=1
或者比尔博基建议的方法:

intervalNum = cellfun(@(x) strcmp(x, 'Active'), interval)

intervalNum = ismember(interval, 'Active'); %Alternative provided by Luis Mendo
intervalnum(strcmp('Active',interval))=1

intervalNum=cellfun(@(x)strcmp(x,'Active'),间隔)
?接近时,将
if
条件更改为
strcmp(间隔{n},'Active')
以比较需要
strcmp
函数或
intervalnum(strcmp('Active',interval))=1的字符串使用
零初始化后
单元格索引是使用
{}
@Jørgen完成的。单元格索引与此有什么关系?
intervalNum=cellfun(@(x)strcmp(x,'Active'),interval)
?接近时,将
if
条件更改为
strcmp(间隔{n},'Active')
以比较需要
strcmp
函数或
intervalnum(strcmp('Active',interval))=1的字符串使用
零初始化后
单元格索引是使用
{}
@Jørgen完成的。单元格索引与此有什么关系?或者
intervalNum=ismember(间隔,'Active')intervalNum=ismember(interval'Active')