【发布时间】:2014-05-01 04:46:49
【问题描述】:
我有一个 128 X 8192 矩阵。我已将其拆分为每个大小为 1X64 的单元格数组:
C = mat2cell(input_matrix, repmat(1,[1 128]), repmat(64,[1 128]));
现在我需要将每个单元格数组传递给一个函数,比如“fn_X”。此函数返回一个不同大小的数组。我需要将每个传递的单元格数组的输出存储在结果矩阵中。我使用了以下代码:
for(irl = 1 : 128)
for(jrl = 1 : 128)
Output_matrix(irl,jrl) = fn_X(C{irl,jrl});
end
end
这给了我一个错误“下标分配维度不匹配”。
然后我使用以下代码在列矩阵中进行了尝试:
king = 1;
for(irl = 1 : 128)
for(jrl = 1 : 128)
Output_matrix(king) = fn_X(C{irl,jrl});
king = king + 1;
end
end
这给了我一个错误“在赋值 A(I) = B 中,B 和 I 中的元素数量必须相同。”
我还尝试使用以下代码使用元胞数组赋值:
king = 1;
for(irl = 1 : 128)
for(jrl = 1 : 128)
Output_matrix(king) = fn_X(C{irl,jrl});
king = king + 1;
end
end
这给出了错误“单元格内容分配给非单元格数组对象。”
关于如何处理这个问题有什么建议吗?
【问题讨论】: