在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'}