例如,我有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的第一行(排除日期)......依此类推......
我正在寻找一个脚本。谢谢!
答案 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));