matlab 根据变量名读取.txt文件实验数据

22 篇文章 1 订阅

问题:通常实际工程中产生的.txt文件变量数目在几十至几百量级,数据行数在几十万行至几百万行,数据量会超出内存限制并且读入非常耗时,因此我们难以全部读入,并且在实际问题当中我们只关心部分变量。因此编写matlab程序根据.txt文件首行的变量名提取对应列的数据,只需设置需要提取数据的变量名即可。

clc;clear;close;
fid=fopen('test.txt');
C_text=textscan(fid,'%s',变量名个数,'Delimiter','');%读取变量名列表
parNam=C_text;
str1={'时间','俯仰角','滚转角'};% 需要获取数据的变量名设置
Lstr1=length(str1);
Tcolumn=zeros(Lstr1,1);
for i=1:101
    str=strtrim(parNam(i))
    for j=1:Lstr1
       if(strcmp(str,str1(j))==1)  % 获取变量名对应列号
           Tcolumn(j)=i;
       else
          continue;
       end
    end
end
%% 筛选数据
dataTmp=zeros(行数,Lstr1);
tline=fgetl(fid); %读变量名行
i=1;
while ~feof(fid)
  tline=fgetl(fid);
  tline0=str2num(tline);
  for j=1:Lstr1
    dataTmp(i,j)=tline0(Tcolumn(j)); %获取数据
  end
  i=i+1;
end
%% 绘图

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值