我正在寫一些代碼來分割基於第二列中的字符串的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