首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB中将一大列数据拆分为多列数据?

如何在MATLAB中将一大列数据拆分为多列数据?
EN

Stack Overflow用户
提问于 2014-07-10 13:44:00
回答 3查看 1.6K关注 0票数 0

我从文本文件中导入了一大列数据(400,000+数据点)。我需要把这个列分成几个长度为7,000的列。它已经有序,所以前7,000个数据点将保留在第一列中,接下来的7,000个数据点将保留到下一列,等等.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-10 14:02:48

您可以将数据重组为2D矩阵,但所有列的长度必须相同(7,000)。

您可以只选择完整的列:

代码语言:javascript
复制
x = rand(1,400000);    
N = 7000;
cols = floor(length(x)/N);
y = reshape(x(1:N*cols), [N,cols]);

或者,您可以填充最后一列(如使用零):

代码语言:javascript
复制
x = rand(1,400000);    
N = 7000;
cols = ceil(length(x)/N);
y = zeros(N, cols);
y(1:length(x)) = x;
票数 3
EN

Stack Overflow用户

发布于 2014-07-10 14:51:21

使用buffer命令:

代码语言:javascript
复制
x = rand(400000,1);
[out,z]=buffer(x,7000);

这里,out对应于每个列中带有7000元素的2D矩阵。如果向量的长度不能被7000整除,则将长度小于7000的最后一列数据存储在z中。

票数 2
EN

Stack Overflow用户

发布于 2014-07-10 14:03:39

使用reshape函数可以做到这一点。

代码语言:javascript
复制
A = reshape(B,7000,[]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24678168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档