簡體   English   中英

如何在MATLAB中將矩陣的單元格數組轉換為列矩陣?

[英]How to convert cell array of matrices into a column matrix in MATLAB?

我有一個矩陣的像元數組,看起來像這樣:

G = 
Columns 1 through 6
    [507x1 double]    [255x1 double]    [130x1 double]    [67x1 double]    [36x1 double]    [19x1 double]

Columns 7 through 9
    [11x1 double]    [6x1 double]    [4x1 double]

這意味着矩陣位於單元陣列內。 矩陣G中總共包含507 + 255 + 130 + 67 + 36 + 19 + 11 + 6 + 4 = 1035個元素。 我可以使用G{i}命令提取任何單元格。 但是,我需要所有1035個元素都位於單列或行矩陣中。 我已經試過cell2mat(G)但是那行不通。

我在這里可以做些什么來創建一個包含所有其他矩陣的矩陣?

為此使用cat並垂直或沿第一維進行連接:

G = cat(1, G{:});

語法G{:}產生了一個用逗號分隔的列表 這等同於您執行以下操作:

G = cat(1, G{1}, G{2}, ..., G{9});

使用G{:}可以為您解壓縮所有內容,而不必您鍵入要用於連接的所有單個單元格元素。

次要音符

cell2mat本質上是按照我上面提到的方式執行cat的。 如果您看一下cell2mat的源cell2mat ,它會進行大量的健全性檢查,但是它的核心只是使用cat並利用逗號分隔的列表。 我不知道為什么cell2mat對您不起作用。

暫無
暫無

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

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