我正在尝试通过在 for 循环中在该数组上附加单个列来构造一个数组。我这样做是通过首先初始化一列零并将我读取的每个新列放在更新向量的右侧。但不幸的是,这部分有效,并且只有在做出限制之后,即只保留第一个 - 例如 - 每个新向量的 500 行。
关于下面关于问题的解决方案,首先我不明白为什么这个零列向量没有出现在最后一个数组中!另一个问题是,即使我从一开始就知道最终数组的总列数,在某些情况下,我也不知道单独列的实际行数。实际上,我想考虑,作为我最终数组中的默认行数,要附加的不同单列之间的行数越大,所以我假设,最好的做法应该是运行整个列数决定更大的行数,然后设置初始数组的适当维度以由单列数据填充,最后根据后者填充第一个。
任何建议将不胜感激!
data = zeros(500,1);
for symbol = 1:length(symbol_list),
[hist_data] = retrieve_data(symbol_list(symbol));
data = [data hist_data(1:500)];
end
编辑:
让我给你一个输入/输出的例子:
我想放置以下三列(我在每次迭代中检索其中一列)
0.402513860949959 0.401546899405730 0.405949059210334
0.401396441661866 0.400288848738267 0.403936753893693
0.400862023741474 0.402233108860710 0.404473368644797
0.411161714570851 0.413612748989126 0.409437055092511
0 0.414870799656589 0.415071509979105
0 0.416586323294039 0
一个接一个,最后得到下表(只保留行数较大但行数相同的表 - 因此,这里我只保留第二列):
0.401546899405730
0.400288848738267
0.402233108860710
0.413612748989126
0.414870799656589
0.416586323294039
换句话说,我有很多列,我想一个接一个地附加。它们中的大多数具有相同的非常大的行长度。但是,其他一些具有任意较小的行数(长度)。我什么是找到这个“大”行数,只保留与这个“大”长度相对应的列,最后将一个放在另一个旁边。