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);
相关推荐
2501_944711432 分钟前
JS 对象遍历全解析
开发语言·前端·javascript
凡人叶枫28 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
Tony Bai28 分钟前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang
小糯米6011 小时前
C++顺序表和vector
开发语言·c++·算法
froginwe111 小时前
JavaScript 函数调用
开发语言
独望漫天星辰1 小时前
C++ 多态深度解析:从语法规则到底层实现(附实战验证代码)
开发语言·c++
无小道1 小时前
Qt——事件简单介绍
开发语言·前端·qt
devmoon1 小时前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
kylezhao20192 小时前
C# 中的 SOLID 五大设计原则
开发语言·c#
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++