在Matlab中将小矩阵组成一个for循环内的大矩阵

时间:2014-10-06 14:34:25

标签: matlab for-loop matrix

假设我们有一个具有一些输出的函数,包括一些数字和矩阵

[A,a,B,n,m] = func(file)

file输入每次都不同,func会在循环for内读取。 矩阵B始终有两列可变行,这些行依赖于func内的输入文件和计算。 现在我想在输出中每次保存这些矩阵B。迭代次数是固定的,比如10。

for循环就是这样的

for i=1:10
    ..... %// here reads the name of the input file which differs each iteration
    [A,a,B,n,m] = func(file)
    .....
end

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

使用单元格数组:

B_all = cell(1, 10);
for i=1:10
        % here reads the name of the input file which differs each iteration

        [A,a,B,n,m] = func(file);
        B_all{i} = B;

        % Continue calculation here
end;

如果你想在最后合并它们(即有一个2列的矩阵):

B_merged = vertcat(B_all{:});