【问题标题】:How to make an array of matrix (of varying sizes)如何制作矩阵数组(不同大小)
【发布时间】:2017-08-18 21:03:14
【问题描述】:

我正在尝试掌握 matlab,所以这个问题更多的是关于语法。

我想创建一个矩阵向量 (1xn)。矩阵都可能具有不同的维度,例如。矩阵 1 = 4 x 5,矩阵 2 = 5 x 6 等等。

我尝试使用 for 循环,但出现以下错误:

下标分配维度不匹配。

【问题讨论】:

标签: matlab


【解决方案1】:

您可以将不同大小的矩阵数组存储为cell array 矩阵。通常您会希望使用arrayfun 函数动态创建这些元胞数组,如果您将UniformOutput 选项设置为0,该函数将为您执行此操作。

示例:

cols = [4 5 6];
rows = [1 2 3];
A = arrayfun(@(i) zeros(rows(i),cols(i)),1:3,'UniformOutput',0);
A{:}

输出:

ans =

     0     0     0     0


ans =

     0     0     0     0     0
     0     0     0     0     0


ans =

     0     0     0     0     0     0
     0     0     0     0     0     0
     0     0     0     0     0     0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 2017-11-18
    • 1970-01-01
    • 2021-05-02
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多