【物理应用】基于matlab计步【含Matlab源码 524期】

一、简介

基于matlab计步

二、源代码

%对原始观测得到的数据进行获取
clc, clear;
%加速度数组
accspe_data = [];
time_record = [];
fid=fopen('sensor_normal.txt', 'r', 'n', 'utf-8');
%初始赋值使循环开始
tline = 1;  
%对文本进行循环读入
%line = 'owieo';
while tline
    %fgetl获取某一行
    tline=fgetl(fid);
    %转换编码形式
    tline = native2unicode(tline);
    %enc = detect_encoding(tline)
    %转换为char类型
    line = char(tline); 
    %对值进行输出
    %disp(line);
    %提取的数据
   % data = regexp(line, ':', 'split');
    %disp(line);
    %disp(length(line));
%     res = '';
% %     for len = 1:length(line)
% %         res = strcat(res,line(len));         %字符串相加
% %         %disp('oiwei');
%     end
    
    data = strsplit(line, ':');
    %从字符串中提取所需要的数据
    if strcmp(data(1), '加速度')
        volecity = data(2);
        vole = strsplit(char(volecity));
        %disp(vole);
        vole_x = str2double(vole(2));
        vole_y = str2double(vole(3));
        vole_z = str2double(vole(4));
        vole_res = sqrt(power(vole_x, 2) + power(vole_y, 2) + power(vole_z, 2));
        accspe_data = [accspe_data, vole_res];
    end
    
    if strcmp(data(1), '时间')
        time = strcat(data(2), data(3), data(4));
        time_data = strsplit(char(time));
        time_record = [time_record, (time_data(3))];
    end
   % end
    %print('oiweoi')
    %print(class(tline));
    %提取其中的数据 
end
%判断是否缺少数据
len = length(time_record);
time_check = ones(1, len);
for num = 1:len
    time_num = str2double(char(time_record(num)));
    
    hour = floor(time_num / 10000);
    minute = floor((time_num - hour * 10000) / 100);
    second = floor((time_num - hour * 10000 - minute * 100));
    
    %将时间转换为秒
    time_check(num) = hour * 3600 + minute * 60 + second;
    if num >= 2 && (time_check(num) - time_check(num - 1)) > 1
        disp('数据采集有误,部分数据缺失!!!');
        disp(time_check(num) - time_check(num - 1)) ;
    end
end
fclose(fid);

三、运行结果

在这里插入图片描述

四、备注

完整代码或者代写添加QQ 1564658423
往期回顾>>>>>>
【物理应用】基于matlab杨氏双缝干涉实验【含Matlab源码 001期】
【物理应用】基于matlab井筒多相流【含Matlab源码 055期】
【物理应用】基于matlab 二维对流扩散温度场【含Matlab源码 056期】
【物理应用】基于matlab内弹道【含Matlab源码 057期】
【物理应用】基于matlab两个光纤光栅的新光子微波发生器的仿真分析【含Matlab源码 058期】
【物理应用】基于matlab计算油气井井底压力【含Matlab源码 059期】
【物理应用】基于matlab光流场【含Matlab源码 060期】
【物理应用】基于matlab 带电粒子在放射状电场和均匀磁场下的混沌运动模拟【含Matlab源码 061期】
【物理应用】基于matlab异构交通流【含Matlab源码 062期】
【物理应用】基于matlab模拟斜抛运动含GUI界面【含Matlab源码 063期】
【物理应用】基于matlab计算晶体结构的x射线衍射图谱【含Matlab源码 064期】
【物理应用】基于matlab衍射光栅教学版【含Matlab源码 065期】
【物理应用】基于matlab电荷电场线和电势【含Matlab源码 066期】
【物理应用】基于matlab速度场找到漩涡【含Matlab源码 067期】
【物理应用】基于matlab车道检测仿真【含Matlab源码 068期】
【物理应用】基于matalb GUI界面的电偶极子【含Matlab源码 069期】
【物理应用】基于matlab车载自组织网络中路边性能及防碰撞算法研究【含Matlab源码 263期】
【物理应用】基于matlab Q学习的无线体域网路由方法【含Matlab源码 264期】
【物理应用】基于matlab GUI家庭室内温湿度控制【含Matlab源码 326期】
【电路仿真】基于simulink三相相控变流器的设计【含Matlab源码 327期】
【物理应用】基于matlab的导线网坐标计算【含Matlab源码 328期】
【物理应用】基于matlab的功率谱估计【含Matlab源码 329期】
【物理应用】基于动态矩阵控制方法的热水器出口温度控制【含Matlab源码 330期】
【电路仿真】基于matlab simulink三相半波可控整流电路【含Matlab源码 331期】
【电路仿真】基于matlab simulink三相桥式全控整流电路【含Matlab源码 332期】
【电路仿真】基于simulink模拟锁相环设计【含Matlab源码 339期】
【电路仿真】基于simulink全数字锁相环设计【含Matlab源码 340期】
【物理应用】基于matlab直角坐标的电力系统潮流计算【含Matlab源码 341期】
【光学】基于matlab单缝衍射【含Matlab源码 342期】
【物理应用】基于matlab RBF神经网络算法控制卫星轨道和姿态【含Matlab源码 377期】
【物理应用】基于matlab红绿灯车辆数量识别【含Matlab源码 378期】
【电路仿真】基于simulink 四旋翼的PID控制【含Matlab源码 454期】
【光学】 基于matlab GUI光的双缝干涉【含Matlab源码 455期】
【电路仿真】基于matlab光伏电池simulink仿真模型【含Matlab源码 486期】
【物理应用】 基于matlab PIC模型的太阳风粒子模拟【含Matlab源码 493期】
【光学】基于matlab光栅衍射仿真【含Matlab源码 502期】
【物理应用】基于matlab波数谱计算【含Matlab源码 508期】
【物理应用】基于matlab 仿真圆孔的菲涅尔衍射【含Matlab源码 522期】
【物理应用】基于matlab二维边界单元法计算腐蚀电位【含Matlab源码 523期】

猜你喜欢

转载自blog.csdn.net/TIQCmatlab/article/details/114853973