在Matlab中将新行和列添加到矩阵中

在Matlab中将新行和列添加到矩阵中,matlab,Matlab,我有一个叫做a的双倍矩阵15x7。我想做的是添加一个额外的行和列作为行和列的标题名,这些行和列将保存为矩阵B,其大小为16x8 A= 1 1 -27.84543037 235.8829193 1529.838379 309.5192566 151.2160492 1 1 -25.76914215 22.570755 1521.290161 310.2462463 231.4568634 1 1 -162.0449066 19.34294128 15

我有一个叫做
a
的双倍矩阵
15x7
。我想做的是添加一个额外的行和列作为行和列的标题名,这些行和列将保存为矩阵
B
,其大小为
16x8

A=

1   1   -27.84543037    235.8829193 1529.838379 309.5192566 151.2160492
1   1   -25.76914215    22.570755   1521.290161 310.2462463 231.4568634
1   1   -162.0449066    19.34294128 1515.019287 258.4113464 232.6483002
1   1   -316.8930359    -106.8941193    1407.015625 190.3127441 283.7460022
1   1   -300.2756958    139.7964783 1365.73584  193.3990479 181.0596008
1   1   110.5066299 25.79856873 1527.561035 361.6555786 230.2752075
1   1   296.7176208 -125.0899811    1428.061768 439.6409607 290.4381409
1   1   281.2500305 118.227478  1377.988037 437.5250854 190.5966339
1   1   -21.2894783 -170.6610107    1523.40271  311.9530029 304.5064392
1   1   -105.9274673    -366.0036011    1521.414429 279.9092102 378.5228271
1   1   -178.0385742    -654.3458252    1275.617554 239.6331177 535.3726807
1   1   -247.3761902    -931.5979614    1039.274658 182.9398804 756.1568604
1   1   72.30783844 -361.7819214    1529.616089 347.2199097 376.1908569
1   0.5 137.2854919 -687.1557617    1330.945068 379.3947449 537.2888184
1   0.5 206.1542358 -984.8857422    1119.07019  426.0763245 746.7713623


B=
    AA  BB  CC  DD  EE  FF  GG
EE  1   1   -27.84543037    235.8829193 1529.838379 309.5192566 151.2160492
FF  1   1   -25.76914215    22.570755   1521.290161 310.2462463 231.4568634
GG  1   1   -162.0449066    19.34294128 1515.019287 258.4113464 232.6483002
HH  1   1   -316.8930359    -106.8941193    1407.015625 190.3127441 283.7460022
II  1   1   -300.2756958    139.7964783 1365.73584  193.3990479 181.0596008
JJ  1   1   110.5066299 25.79856873 1527.561035 361.6555786 230.2752075
KK  1   1   296.7176208 -125.0899811    1428.061768 439.6409607 290.4381409
LL  1   1   281.2500305 118.227478  1377.988037 437.5250854 190.5966339
MM  1   1   -21.2894783 -170.6610107    1523.40271  311.9530029 304.5064392
NN  1   1   -105.9274673    -366.0036011    1521.414429 279.9092102 378.5228271
OO  1   1   -178.0385742    -654.3458252    1275.617554 239.6331177 535.3726807
PP  1   1   -247.3761902    -931.5979614    1039.274658 182.9398804 756.1568604
QQ  1   1   72.30783844 -361.7819214    1529.616089 347.2199097 376.1908569
RR  1   0.5 137.2854919 -687.1557617    1330.945068 379.3947449 537.2888184
SS  1   0.5 206.1542358 -984.8857422    1119.07019  426.0763245 746.7713623

我已经尝试将新列保存在向量中为
newcol=['AA','BB','CC','DD','EE','FF','GG']
,然后将其添加到
a
中,就像
B=[newcol;a]然后对行执行相同的操作。但是它不起作用,所以如果有人能告诉我怎么做。

您想要的是
。您可以找到参考资料和


注意:它仅适用于MATLAB R2014A

双精度矩阵只能包含双精度矩阵
AA
是一个字符串,因此不能放入数字数据矩阵中。您为什么要这样做,您需要使用
B
做什么?谢谢您的评论!我想更容易地分析数据,而不是每次都检查每个单元格所代表的内容。只需在代码中添加一些关于
B
外观的注释就可以了。您还可以将
B
的列制作成具有自己名称的向量,例如:
AA=B(:,1)
。可以将标签与这样的数据关联起来,但我还没有找到一种很好的方法。希望有人能帮助我们两个@用户1460166查看。OP正在使用一种结构来处理此类情况。如果你按照他的方式去做,你的问题就可以解决。
B = table( A(:,1),A(:,2),A(:,3),A(:,4),A(:,5),A(:,6),A(:,7),...
    'VariableNames', {'AA'; 'BB'; 'CC'; 'DD'; 'EE'; 'FF'; 'GG'},... 
    'RowNames', {'EE','FF','GG','HH','II','JJ','KK','LL','MM','NN','OO','PP','QQ','RR','SS'});

% they will yield the same values
B{2,3}
B{'FF', 'CC'}