簡體   English   中英

MATLAB索引矩陣的單元格數組中的所有單元格

[英]MATLAB indexing all the cells in a cell array of matrices

我有一個單元格數組,其中每個單元格都包含一個矩陣(不同大小)。 我想例如使用矩陣的所有第二列,提供如下命令:

aux = cArray{:}(:,2)

我想獲得的結果是一個單元格數組,其中每個單元格都包含原始矩陣的第二列,但是該命令不起作用(而且我什至可以看到原因,因為cArray {:}的輸出不是矩陣...)是否有一個緊湊的命令來獲取我想要的,而不是循環填充單元數組?

之所以不起作用,是因為用{:}索引單元格數組會產生一個逗號分隔的列表 ,該列表不再可索引。 您可以將其視為以逗號分隔的單元格數組的“未包裝”內容。

您可以使用cellfun實現您想要的:

result = cellfun(@(x) x(:,2), cArray, 'uniformoutput', false);

這會將匿名函數@(x) x(:,2)應用於每個單元格的內容,並將結果打包在單元格數組中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM