Matlab导入log(或txt)文件,提取数据或其他信息

导入log(或txt)文件

先上代码:

matlab 复制代码
clc;
clear;
%数据导入
file1=fullfile('文件路径', 'test1.log');      % 导入文件'test1.log'
f1=fopen(file1); 
dt1=textscan(f1,'%s');  %采用textscan 读取数据
%得到的dt1是元胞数组格式

比如:有如下内容文件

导入后存在数据变量dt1中的形式如下图所示:

提取数据或其他信息

通过上面的导入,可以通过遍历的方式去提取自己想要的内容。一个提取数据比较偷懒的方式,就是在生成数据文件或内容文件之前,在需要提取的数据之前,设置好一个特别的字符,这样子,在遍历时,一旦遇到这样一个字符,就将后面的数据或信息提取单独保存即可。

如下示例:

matlab 复制代码
index1=0;%设置的特别字符 按照自己文件来
x1=[];y1=[];%用来存储提取的数据或信息
i=1;
while(i<=length(dt1{1,1})) %这里涉及元胞数据结构的操作 
    symbal=dt1{1,1}(i,1);%对照上面的存储 就是取了一个单元格的内容
    %disp(symbal)
    if(strcmp(cell2mat(symbal),num2str(index1))) %字符比较 如果相等 则进入if循环
        x1=[x1 index1];%
        y1=[y1 str2num(cell2mat(dt1{1,1}(i+1,1)))];%提取数据 + 格式转换
        i=i+2;%相应的跳过这些提取的信息 按照自己文件来
        index1=index1+1;
        %disp(index)
        continue;
    end
    i=i+1;
end
fclose(f1);
相关推荐
褚翾澜3 分钟前
Ruby语言的代码重构
开发语言·后端·golang
超级大咸鱼10 小时前
verilog利用线性插值实现正弦波生成器(dds)
matlab·fpga·dds·线性插值
我不会编程55521 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
李少兄21 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
无名之逆1 天前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
似水এ᭄往昔1 天前
【C语言】文件操作
c语言·开发语言
啊喜拔牙1 天前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
xixixin_1 天前
为什么 js 对象中引用本地图片需要写 require 或 import
开发语言·前端·javascript
W_chuanqi1 天前
安装 Microsoft Visual C++ Build Tools
开发语言·c++·microsoft
anlogic1 天前
Java基础 4.3
java·开发语言