我有一个CELL数组A格式:
Month Var1 Var2 Type
Q1-14 2.60 -1.50E+04 I
Q1-15 1.50 -2.20E+04 II
Q1-14 1.40 -2.50E+05 I
Q1-15 8.50 -2.90E+05 II
我想创建以下格式:
Month Type Des Value
Q1-14 I Var1 2.60
Q1-15 II Var1 1.50
Q1-14 I Var1 1.40
Q1-15 II Var1 8.50
Q1-14 I Var2 -1.50E+04
Q1-15 II Var2 -2.20E+04
Q1-14 I Var2 -2.50E+05
Q1-15 II Var2 -2.90E+05
我必须在Matlab中这样做。我可以运行for循环来实现这一目标,但我想要更清洁的东西。
答案 0 :(得分:1)
嗯,毕竟这不是一个优雅的解决方案,但鉴于你想要的答案的结构,这是我能想到的:
sz=size(A,1);
newA(:,1)=[A(:,1);A(2:end,1)];
newA(:,2)=[A(:,4);A(2:end,4)]
newA(:,3)=['Des';repmat(A(1,2),sz-1,1);repmat(A(1,3),sz-1,1)];
newA(:,4)=['Value';A(2:end,2);A(2:end,3)];