使用matlab处理INCF采集数据,mdf(.dat)格式文件,并将将其写入excel文件
使用matlab处理INCF采集数据,mdf(.dat)格式文件,并将将其写入excel文件
最近在做某汽车公司关于汽车标定的数据。数据通过INCA采集,保存为.dat格式。数据可以通过measure data analyzer图形化显示,并导出为其他格式,但是软件下载麻烦。使用matlab处理也很方便。
数据处理步骤
1.读取文件
// 添加项目路径到matlab中
folder ='要操作的文件路径'; % 要操作的文件夹
addpath( genpath(folder) );
2.使用mdf函数访问.dat文件
filename = '想要读取的文件名.dat';
mdfobj = mdf(filename);
读取过后即可在matlab的Workspace区域查看到mdfobj变量的内容,如下
其中ChannelNames中即为数据的特征名,但是由于数据采样时频率不同,导致数据被分成8个cell,每个cell中采样频率相同的特征。
3.接下去是如何读取每个cell中特征名下的值,由于数据格式和命名风格不同,使用一段函数读取数据
%该函数用于查找mdf文件中的变量,并输出数据和对应的时间
function[data,time] = data_time_output(Variable,mdfobj)i=1;ChannelLength=length(mdfobj.ChannelNames);for i=1:ChannelLengthPositionVariableLogic=strcmp(mdfobj.ChannelNames{i},Variable);%在频道i中查找对应的Variable,并输出该频道中的每个cell是否含有该Variable对应的逻辑值,如果这个频道中有该Variable,则输出1,如没有则输出0PositionVariable=find(PositionVariableLogic);%FINDposition,找到对应的位置if PositionVariable>0[data, time] = read(mdfobj, i, Variable, 1, 1000000000, 'OutputFormat', 'vector');else continueendend
end
4.调用函数,读取数据
//Variable是想要读取的特征
Variable = 'C_3_0_217\CAN-Monitoring: 1';
[data,time] = data_time_output(Variable, mdfobj);
varNames = {Variable};
5.将读取到的数据写入excel中
//table函数将特征名和数值组合成同一列
T = table(data,'VariableNames',varNames);
writetable(T, '2021-11-18_09.31.59_k1_valve_dither_test_20.0bar_100Hz_250mA.csv','WriteRowNames',true)
6.一般一个cell中有多个特征,此时需要一个循环一次读出cell中全部数据
//程序中数字1为第一个cell
for i=1:length(mdfobj.ChannelNames{1})Variable = mdfobj.ChannelNames{1}{i};[data,time] = data_time_output(Variable, mdfobj);
` varNames = {Variable};T = table(data,'VariableNames',varNames);H(:,i)=T; //这个地方如果不用H只能将cell中最后一列写入表中,暂时没有好的办法,如果有人知道请留言,谢谢
end
writetable(H, '想要写入的表名.xlsx','WriteMode','Append','WriteRowNames',true)
更多关于table和writetable函数的用法可自行查阅matlab帮助文档
使用matlab处理INCF采集数据,mdf(.dat)格式文件,并将将其写入excel文件相关推荐
- python xlwt写入数据超过范围限制_用xlrd包读取Excel文件-尽量不用xlwt包写入Excel文件最多能支持65536行数据。...
1. 引有包 import xlrd1 打开文件 data = good_ivy = xlrd.open_workbook(r'商品库存.xls')1 2 获取你要打开的sheet文件 # table ...
- matlab signaltap,一种matlab调用signaltap采集数据的方法
[导读] 一种matlab调用signaltap采集数据的方法关键词: AD采集MatlabFPGA 最近,在利用FPGA采集数据,前端是通过AD采集,然后直接输出给FPGA,需要分析采集到的数据,通 ...
- MATLAB处理串口采集数据
MATLAB处理串口采集数据 加速度计反馈X/Y/Z轴数据,并通过串口输出,其中第2,3,4字节为X轴数据高位,中位,低位数据,第5,6,7字节为Y轴数据高位,中位,低位,第8,9,10字节为Z轴数据 ...
- matlab 循环写excel文件,matlab数据自动循环写入excel文件
功能说明: 1.表格第一行(1)要留着添加表头描述,同时也可以随时向表格手工添加数据,因此不能用计数进行循环 第一列(A)为时间戳字符串(如20150413123415).每次运行程序就存储一次数据, ...
- R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称.将数据写入Excel文件新的表单(sheet)中.将文件保存为xls文件格式(而不是xlsx) 目录
- python 数据处理----读取txt 一列数据写入excel 文件
将txt数据从某一行开始写入excel文件中(例子为从Appthroughput写至excel_result1.xlsx中) import sys import random import time ...
- python处理多个excel数据_python 数据分析基础 day8-pandas读写多个excel文件
今天是读<python数据分析基础>的第8天,今天的读书笔记的内容为利用pandas读写多个excel文件,当中涉及到读写excel文件的多个工作表. 大致原理如下: glob.glob( ...
- oracle写excel文件,ORACLE-将oracle数据库中数据写入excel文件
ORACLE-将oracle数据库中数据写入excel文件主要实现思路: 1.声明一个纪录,用来存储导出的数据: 2.使用游标取数据到纪录中: 3.使用utl_file将纪录中的数据写入excel文件 ...
- Java工具总结:将数据内容写入excel文件
Java工具总结:将数据内容写入excel文件 文章目录 Java工具总结:将数据内容写入excel文件 一.背景 二.功能描述 三.使用该工具类:Java代码演示 四.分析代码 4.1 几个重要的J ...
最新文章
- shell中的命令替换和变量替换
- 1. 自然语言处理描述
- 评分卡实战中的几个问题
- Scala可变数组ArrayBuffer:查询/修改/遍历/增加/删除
- EasyUI 分页 偶遇 问题
- vim多列操作--插入/删除
- Cannot modify header information问题的解决方法【新浪云经常遇到的错误】
- SSH连接原理及ssh-key
- CVPR2019,开源活体检测
- 【转】Build Your own Simplified AngularJS in 200 Lines of JavaScript
- java 核心API day05 File类
- python读取pcd文件_Python读取pcd点云文件
- 超级万能计算机在线应用,超级万能计算器手机版
- 实习期间的一些思考整理(2)2018.4.10~4.11
- 魔兽私服Trinitycore架构设计分析之一
- java 详细教程AXIS调用webservice(直接上代码)
- 桌面音乐频谱linux,X Music Spectrum(音乐频谱桌面特效)
- Jzoj4210 我才不是萝莉控呢
- 基于STM32单片机的语音播报超声波测距系统【ISD1820录放模块继电器蜂鸣器扬声器】
- [C++学习实验1]CMatrix类设计与实现