请教各位怎样把下列数据按行读取,变成一列?
1 2 3 4 57 8 9 1 2变成
1
2
3
4
5
7
8
9
1
2 假设
A =
[1 2 3 4 5
7 8 9 1 2 ]
回复 2 # hustxyong 的帖子
谢谢你的解答,我想问一下,如果是很多很多的数据,如是地震波的记录,有很多行的,我看这个方法必须是要输入每行,对应的才变成一列, A = ; aa=A';
aa(:) 回复 2 # hustxyong 的帖子
那两个点好像有点多馀!? 回复 2 # hustxyong 的帖子
楼主能不能再清楚的陈述你的问题,给个数据是干什么的啊? 回复 3 # xiaohaha007 的帖子
试着直接读成一column
help fscanf 本帖最后由 hustxyong 于 2010-12-14 08:27 编辑
回复 5 # ChaChing 的帖子
如果都是实数的话就是多余的,如果有复数的话就不多余了。因为不加点是共轭转置,加点才是转置 xiaohaha007 发表于 2010-12-13 21:32 static/image/common/back.gif
回复 2 # hustxyong 的帖子
谢谢你的解答,我想问一下,如果是很多很多的数据,如是地震波的记录,有很多行 ...
Matlab读取矩阵中的数据默认的是按列读取的,你可以先将数据转置一下,再顺序读取成一列即可,可以用reshape函数实现。 大家讨论了这么多,不知道lz明白了没有,这个问题就是先转置,后变成一列的问题>> A = ;
>> B=feval(@(x)x(:),A')
B =
1
2
3
4
5
7
8
9
1
2 回复 7 # zhouyang664 的帖子
就是把多行多列的数据,按行读取,变成一列的数据,不知道我说清楚了没有? 回复 6 # xiaohaha007 的帖子
如果是要用TXT格式的
用Excel的粘贴功能就可以转了啊。 qibbxxt 发表于 2010-12-14 08:56 static/image/common/back.gif
大家讨论了这么多,不知道lz明白了没有,这个问题就是先转置,后变成一列的问题
也可以
A = ;
B=reshape(A',10,1) 回复 14 # appleseed05 的帖子
方法是比较多的,为了通用一些,可以改为A = ;
B=reshape(A',numel(A),[])