将矩阵从Matlab中的单元连接起来

费德里科·外邦(Federico Gentile)

我写在哪里存储3点矩阵的简单的matlab测试代码(abc)一个细胞的内部(D)。然后,我创建一个索引向量(idx),以便能够从单元格中仅选择第一个和第三个矩阵。代码如下所示:

% Begin code %
a = [0 1; 2 3];        % matrix a
b = [4 5];             % matrix b
c = [5 6; 7 8; 9 10];  % matrix c

D = cell(3,1);         % Initialize cell D
D{1,1} = a; D{2,1} = b; D{3,1} = c; % Copy matrices inside cell

idx = [1 3]'; % Indexes vector

D = D(idx); % select matrix a and c from D
% End code (Solution should start from here...) %

如果我展示D{:,1}我得到的是

ans =

     0     1
     2     3

ans =

     5     6
     7     8
     9    10

我的目标是以一种聪明的方式(使用一些内置的matlab函数)将2个矩阵(a,b)连接到单元格D中,并可能避免for循环;这就是我要的:

E = [0    1
     2    3
     5    6
     7    8
     9   10];

解决方案应该是最优雅的方法,但是我可以接受任何建议。唯一的限制应该是不要更改我提供的代码,因为解决方案应该是我所写内容的延续。

注意:由于我要执行的操作应使用不确定数量的矩阵(在此示例中,我只有3个,但也可能是1000个),E = [D{1,:};D{2,1}]因此不接受类似解决方案

费德里科·外邦(Federico Gentile)

这里找到我的问题的答案

cat(1,D{:})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章