xiaohaha007 发表于 2010-12-13 15:42

请教各位怎样把下列数据按行读取,变成一列?

1 2 3 4 5
7 8 9 1 2变成
1
2
3
4
5
7
8
9
1
2

hustxyong 发表于 2010-12-13 18:37

假设
A =
[1 2 3 4 5
7 8 9 1 2 ]

xiaohaha007 发表于 2010-12-13 21:32

回复 2 # hustxyong 的帖子

谢谢你的解答,我想问一下,如果是很多很多的数据,如是地震波的记录,有很多行的,我看这个方法必须是要输入每行,对应的才变成一列,

ChaChing 发表于 2010-12-13 21:39

A = ; aa=A';
aa(:)

ChaChing 发表于 2010-12-13 21:41

回复 2 # hustxyong 的帖子

那两个点好像有点多馀!?

xiaohaha007 发表于 2010-12-13 22:14

回复 2 # hustxyong 的帖子

zhouyang664 发表于 2010-12-13 22:57

楼主能不能再清楚的陈述你的问题,给个数据是干什么的啊?

ChaChing 发表于 2010-12-14 00:07

回复 3 # xiaohaha007 的帖子

试着直接读成一column
help fscanf

hustxyong 发表于 2010-12-14 08:19

本帖最后由 hustxyong 于 2010-12-14 08:27 编辑

回复 5 # ChaChing 的帖子

如果都是实数的话就是多余的,如果有复数的话就不多余了。因为不加点是共轭转置,加点才是转置

hustxyong 发表于 2010-12-14 08:24

xiaohaha007 发表于 2010-12-13 21:32 static/image/common/back.gif
回复 2 # hustxyong 的帖子

谢谢你的解答,我想问一下,如果是很多很多的数据,如是地震波的记录,有很多行 ...

Matlab读取矩阵中的数据默认的是按列读取的,你可以先将数据转置一下,再顺序读取成一列即可,可以用reshape函数实现。

qibbxxt 发表于 2010-12-14 08:56

大家讨论了这么多,不知道lz明白了没有,这个问题就是先转置,后变成一列的问题>> A = ;
>> B=feval(@(x)x(:),A')

B =

   1
   2
   3
   4
   5
   7
   8
   9
   1
   2

xiaohaha007 发表于 2010-12-14 10:28

回复 7 # zhouyang664 的帖子

就是把多行多列的数据,按行读取,变成一列的数据,不知道我说清楚了没有?

Jonah_K500 发表于 2010-12-14 16:12

回复 6 # xiaohaha007 的帖子

如果是要用TXT格式的
用Excel的粘贴功能就可以转了啊。

appleseed05 发表于 2010-12-14 17:54

qibbxxt 发表于 2010-12-14 08:56 static/image/common/back.gif
大家讨论了这么多,不知道lz明白了没有,这个问题就是先转置,后变成一列的问题

也可以
A = ;
B=reshape(A',10,1)

qibbxxt 发表于 2010-12-14 19:06

回复 14 # appleseed05 的帖子

方法是比较多的,为了通用一些,可以改为A = ;
B=reshape(A',numel(A),[])
页: [1] 2 3
查看完整版本: 请教各位怎样把下列数据按行读取,变成一列?