声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5950|回复: 32

[编程技巧] 请教各位怎样把下列数据按行读取,变成一列?

[复制链接]
发表于 2010-12-13 15:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
1 2 3 4 5
7 8 9 1 2变成
1
2
3
4
5
7
8
9
1
2
回复
分享到:

使用道具 举报

发表于 2010-12-13 18:37 | 显示全部楼层
假设
A =
[1 2 3 4 5
7 8 9 1 2 ]
[A(1,:).' ; A(2,:).']

评分

1

查看全部评分

 楼主| 发表于 2010-12-13 21:32 | 显示全部楼层
回复 2 # hustxyong 的帖子

谢谢你的解答,我想问一下,如果是很多很多的数据,如是地震波的记录,有很多行的,我看这个方法必须是要输入每行,对应的才变成一列,
发表于 2010-12-13 21:39 | 显示全部楼层
A = [1 2 3 4 5;7 8 9 1 2]; aa=A';
aa(:)
发表于 2010-12-13 21:41 | 显示全部楼层
回复 2 # hustxyong 的帖子

那两个点好像有点多馀!?
 楼主| 发表于 2010-12-13 22:14 | 显示全部楼层
回复 2 # hustxyong 的帖子

地震波.txt (160.45 KB, 下载次数: 23)
发表于 2010-12-13 22:57 | 显示全部楼层
楼主能不能再清楚的陈述你的问题,给个数据是干什么的啊?
发表于 2010-12-14 00:07 | 显示全部楼层
回复 3 # xiaohaha007 的帖子

试着直接读成一column
help fscanf
发表于 2010-12-14 08:19 | 显示全部楼层
本帖最后由 hustxyong 于 2010-12-14 08:27 编辑

回复 5 # ChaChing 的帖子

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

点评

thanks  发表于 2010-12-14 22:45
发表于 2010-12-14 08:24 | 显示全部楼层

Matlab读取矩阵中的数据默认的是按列读取的,你可以先将数据转置一下,再顺序读取成一列即可,可以用reshape函数实现。
发表于 2010-12-14 08:56 | 显示全部楼层
大家讨论了这么多,不知道lz明白了没有,这个问题就是先转置,后变成一列的问题
  1. >> A = [1 2 3 4 5;7 8 9 1 2];
  2. >> B=feval(@(x)x(:),A')

  3. B =

  4.      1
  5.      2
  6.      3
  7.      4
  8.      5
  9.      7
  10.      8
  11.      9
  12.      1
  13.      2
复制代码
 楼主| 发表于 2010-12-14 10:28 | 显示全部楼层
回复 7 # zhouyang664 的帖子

就是把多行多列的数据,按行读取,变成一列的数据,不知道我说清楚了没有?
发表于 2010-12-14 16:12 | 显示全部楼层
回复 6 # xiaohaha007 的帖子

如果是要用TXT格式的
用Excel的粘贴功能就可以转了啊。
发表于 2010-12-14 17:54 | 显示全部楼层
qibbxxt 发表于 2010-12-14 08:56
大家讨论了这么多,不知道lz明白了没有,这个问题就是先转置,后变成一列的问题

也可以
A = [1 2 3 4 5;7 8 9 1 2];
B=reshape(A',10,1)

评分

1

查看全部评分

发表于 2010-12-14 19:06 | 显示全部楼层
回复 14 # appleseed05 的帖子

方法是比较多的,为了通用一些,可以改为
  1. A = [1 2 3 4 5;7 8 9 1 2];
  2. B=reshape(A',numel(A),[])
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-18 05:27 , Processed in 0.065093 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表