Matlab,在3d矩阵中插入矢量的值

时间:2014-01-04 14:07:37

标签: arrays matlab

我有一个3D矩阵a和一个向量a1a1的大小每次迭代都会发生变化。现在我想将此向量输入到第二列和第三列定义的某个位置。像这样的东西,

a(:,3,4)=a1;

但它得到错误"Assignment has more non-singleton rhs dimensions than non-singleton subscripts"。我怎么解决呢?

1 个答案:

答案 0 :(得分:0)

如果a1的大小在每次迭代时发生变化,则需要将a预先分配到最大大小并使用显式下标进行分配

a = zeros(5,5,5)
a(1:length(a1),3,4)=a1;

或者你可以使用一个单元格数组:

a{3,4} = a1

单元阵列将能够存储不同长度的矢量。