声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1957|回复: 5

[编程技巧] 怎样方便快速读入地震波数据

[复制链接]
发表于 2008-10-24 21:20 | 显示全部楼层 |阅读模式

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

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

x
地面运动加速度信号,一共2800步,数据文件是一个文本文件,每行文本10个数据,一共有280行。我现在需要把这些数据读入matlab,存入一个一维数组。目前采用的笨办法是先用load命令,把数据存入一个280x10的矩阵,然后在用一个双重循化,把这个矩阵的数据赋给另外一个2800长的一维数组。这种做法还有一个问题,就是如果只有2791个数据,即最后一行只有一个数据的时候,我还要人为的在最后一行补充9个0,形成矩阵之后才能读入。

这样做即麻烦又费时,求教一种简洁快速的方法。

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2008-10-25 07:17 | 显示全部楼层
你把数据导入.txt文件中然后读入如何?
发表于 2008-10-25 07:18 | 显示全部楼层
或者导入excel也行啊,用xlsread
发表于 2008-10-25 08:59 | 显示全部楼层
load 之后reshape试试,按理说2800个数据不算多,如果不用循环的话应该不会很慢。
 楼主| 发表于 2008-10-25 10:43 | 显示全部楼层
已运用文件读入的方法解决该问题:

clear;
clc;
filename='USA00001.ACC';
[fid,message]=fopen(filename,'r');  %打开文件
if fid==-1
    disp(message);
end
N=fscanf(fid,'%f',1);  %读入总共点数
step=fscanf(fid,'%f',1);  %读入时间步长
scale=fscanf(fid,'%f',1);  %读入数据比例
acc=fscanf(fid,'%f');  %将余下数据读入向量acc
status=fclose(fid);

评分

1

查看全部评分

发表于 2008-10-26 00:48 | 显示全部楼层
可以考虑按格式读入一维数组,当然需要实现知道数组维数!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-15 10:01 , Processed in 0.080466 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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