我从文本文件中导入了一大列数据(400,000+数据点)。我需要把这个列分成几个长度为7,000的列。它已经有序,所以前7,000个数据点将保留在第一列中,接下来的7,000个数据点将保留到下一列,等等.
发布于 2014-07-10 14:02:48
您可以将数据重组为2D矩阵,但所有列的长度必须相同(7,000)。
您可以只选择完整的列:
x = rand(1,400000);
N = 7000;
cols = floor(length(x)/N);
y = reshape(x(1:N*cols), [N,cols]);或者,您可以填充最后一列(如使用零):
x = rand(1,400000);
N = 7000;
cols = ceil(length(x)/N);
y = zeros(N, cols);
y(1:length(x)) = x;发布于 2014-07-10 14:51:21
使用buffer命令:
x = rand(400000,1);
[out,z]=buffer(x,7000);这里,out对应于每个列中带有7000元素的2D矩阵。如果向量的长度不能被7000整除,则将长度小于7000的最后一列数据存储在z中。
发布于 2014-07-10 14:03:39
使用reshape函数可以做到这一点。
A = reshape(B,7000,[]);https://stackoverflow.com/questions/24678168
复制相似问题