我有十个二维矩阵
matrix_Q1 = [Q1_inner(:,1) Q1_outer(:,2) Q1_inner(:,1) Q1_outer(:,2)];
这是我当前的for循环,这是不正确的
n = 1;
for X_num = matrix_Q1 : matrix_Q10;
X_new(:,:,n) = X_num;
n = n+1;
end
我知道如何使用x(:,:,1)
语法创建3D矩阵,但如何以循环格式执行此操作?
答案 0 :(得分:0)
为什么要用它创建3D矩阵?也许你可以使用一个单元格代替(see here details on cells),然后你可以使用X_new {i}或X_new {i,j}来存储每个2D矩阵?
答案 1 :(得分:0)
所有十个2D矩阵都是不同名称这一事实并不适合使用循环,除非你使用我通常不喜欢使用的eval
函数,但在这种情况下是必要的。
我会这样做:
sz = size(matrix_Q1);
X_new = zeros(sz(1),sz(2),10);
for n = 1:10
X_new(:,:,n) = eval(['matrix_Q',num2str(n)]);
end