2013-10-03 66 views
-1

您好我運行如下:Matlab的:for循環只存儲一個結果

for i = 1: length(tptestseqs) 
    [pstates,logscore] = hmmdecode(tptestseqs{i},t,e); 
end 

然而logscore(2)和上述超出界。它似乎只存儲了第一個結果。

我已經試過

for i = 1: length(tptestseqs) 
    [pstates{i},logscore{i}] = hmmdecode(tptestseqs{i},t,e); 
end 

,但得到

??? Comma separated list expansion has cell syntax for an array that 
is not a cell. 

我怎麼可以存儲通過函數hmmedecode()循環的所有結果?

謝謝。

+2

嘗試在運行代碼之前清除'pstates'和'logscore'。我猜測單元格數組的語法應該可以工作。 – am304

+0

@ am304是的工作。我如何「接受」你的評論作爲答案? – brucezepplin

+0

我會把它作爲答案,然後你可以接受它。 – am304

回答

1

從討論中的意見:

嘗試運行您的代碼之前清除pstateslogscore。我猜測單元格數組的語法應該可以工作。

+1

是的,並嘗試用'pstates = cell([1 length(tptestseqs)]);預分配您的單元格數組的大小;'' – Vuwox