我正在写一些代码来分割基于第二列中的字符串的180x2的matlab单元数组。该字符串是EP,GA,PS,SS或SA之一。在Python中,我可以定义空列表,然后使用条件来遍历列表元素并将它们附加到相关列表。在matlab中从单元格数组添加到列表的正确方法?
守则
EP=[];
GA=[];
PS=[];
SA=[];
SS=[];
for i=1:size(d),
if strcmp(d(i,2),'EP'),
append(EP,d(i,1))
elseif strcmp(d(i,2),'GA'),
append(GA,i)
elseif strcmp(d(i,2),'PS'),
append(PS,i)
elseif strcmp(d(i,2),'SA'),
append(SA,i)
elseif strcmp(d(i,2),'SS'),
append(SS,i)
end
end
注意,“d”为我复制并粘贴到MATLAB而非进口一个180x2单元阵列。然而,数据的一般结构为:
12.9089000000000 'EP'
13.3697000000000 'SA'
13.4335000000000 'EP'
13.5302000000000 'PS'
13.8434000000000 'EP'
14.2583000000000 'EP'
14.8221000000000 'GA'
然而在MATLAB尝试这种战术时,我得到一个错误:
Error using append (line 38)
Wrong number of input arguments for obsolete
matrix-based syntax.
Error in Boxplot_All_results (line 12)
append(GA,i)
有人能告诉我在MATLAB这样做的正确的方式
尼斯触摸结构。 +1。 (但是在循环中有一个错字:大写'S'然后小's') – Hoki