从迭代通过其他矩阵获得的值创建新矩阵

时间:2015-03-11 13:04:47

标签: matlab

在Matlab中我有4个基质,全部是1(行)到4(coloumns)(ABDC,EFGH,IJKL,MNOP)

他们的名字也存储在一个列表中

Stock_List2 = {' ABCD' ' EFGH' ' IJKL' ' MNOP'}并且是1乘4的单元格。

我想遍历列表并创建一个名为" display"的新矩阵。它取得了各种matricies的价值并将它们置于彼此之下)

我正在尝试像

这样的东西
for e = 1:length(Stock_List2)
   display(e) = eval(strcat(Stock_List2)(e))
end

错误:() - 索引必须出现在索引表达式的最后。

然而,如果得到以下错误表达,那么我可能就会失去理智。

如果原始基质如下:

ABCD         1  2  3   4
DEFG         5  6  7   8
HIJK         9  8  7   6
LMNO         5  4  3   2

我希望最终输出,即显示矩阵为4 x 4矩阵,如

显示

1 2 3 4   
5 6 7 8
9 8 7 6 
5 4 3 2 

2 个答案:

答案 0 :(得分:0)

如果我理解正确你想要垂直连接矩阵ABDC,EFGH,IJKL和MNOP将它们保存在矩阵中"显示"。

你可以这样做:

display = [ABDC; EFGH; IJKL; MNOP]

或:

for i=1:length(Stock_List2)
    display(i,:) = Stock_List2{i}
end

答案 1 :(得分:0)

道歉,如果我想要的不清楚 - 已经从同事那里获得了以下效果

for e=1:length(Stock_List2)
    eval(strcat('display_mat(e,:) = ',Stock_List2{e}));
end