【问题标题】:extract and store matrices in Matlab在 Matlab 中提取和存储矩阵
【发布时间】:2012-10-10 01:01:46
【问题描述】:

我有一个包含 380 个矩阵的元胞数组 C,并希望将它们放入 3 维矩阵 M 这样 C 的第 20 个矩阵将在 M(:,:,1) 中,第 20 个矩阵(从 21 到 40)在 M(:,:,2) 中,依此类推。

编辑:我想按列连接它们。

我可以在 Matlab 中单循环执行此操作吗?

【问题讨论】:

  • 你想按行还是按列连接 20 个矩阵?
  • 您有正确的想法,只需将其包装在 for 循环中 for i = 1:20:380 并使用您在问题中显示的索引赋值运算符按您的意愿组织元素。如果维度不是那么整齐,您可能必须嵌套一个循环来处理 20 个单独的矩阵 for j=1:20 并将它们插入正确的位置

标签: matlab matrix extraction


【解决方案1】:

你甚至不需要循环:

%# C: cell array with 380 elements

%# reshape C to 20x1xn
C = reshape(C,20,1,[]);

%# create matrix M
M = cell2mat(C);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2011-11-12
    相关资源
    最近更新 更多