Matlab:如何组合不同的矩阵?

时间:2012-02-16 15:38:50

标签: matlab matrix

例如,我有6个类似的矩阵(矩阵A1到A6),但数据不同。

  

Matrix A1:

     

2011/1/1 23.00 33.00 23.00 35.00 ......

     

2011/1/2 19.00 20.00 22.00 22.00 ......

我想组合这6个矩阵并创建一个新的矩阵B.

矩阵B将具有:6列,行的长度等于(长度(A列)-1)。

Matrix B的第一列是Matrix A1的第一行(排除日期)。

Matrix B的第二列是Matrix A2的第一行(排除日期)......依此类推......

我正在寻找一个脚本。谢谢!

1 个答案:

答案 0 :(得分:2)

B = [A1(1,2:end); A2(1,2:end); A3(1,2:end); A4(1,2:end); A5(1,2:end); A6(1,2:end)]';

B = [A1(1,2:end)' A2(1,2:end)' A3(1,2:end)' A4(1,2:end)' A5(1,2:end)' A6(1,2:end)'];

<强>更新

考虑使用每个单元格包含矩阵的单元格数组,而不是使用具有不同名称的多个矩阵。如果A是一个单元格数组,

A = {A1, A2, A3, A4, A5, A6};

然后你可以访问第k个矩阵A{k}。在这种情况下,您可以在单元阵列中使用不同数量的矩阵,并使用例如以下代码以矢量化方式获取B:

B = cell2mat(cellfun(@(x) x(1,2:end)', A, 'uniformoutput',0));