vincentsuen 发表于 2008-10-24 21:20

怎样方便快速读入地震波数据

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

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

科技在线 发表于 2008-10-25 07:17

你把数据导入.txt文件中然后读入如何?

科技在线 发表于 2008-10-25 07:18

或者导入excel也行啊,用xlsread

sogooda 发表于 2008-10-25 08:59

load 之后reshape试试,按理说2800个数据不算多,如果不用循环的话应该不会很慢。

vincentsuen 发表于 2008-10-25 10:43

已运用文件读入的方法解决该问题:

clear;
clc;
filename='USA00001.ACC';
=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);

slccumt 发表于 2008-10-26 00:48

可以考虑按格式读入一维数组,当然需要实现知道数组维数!
页: [1]
查看完整版本: 怎样方便快速读入地震波数据