汽车行驶工况构建2019 D题.zip


1. 标记0与0之间的片段位置 2.标记所之间的毛刺数的位置 3.去掉毛刺数据 速度 并生成 新的数组 4.标记时间段 5. 0与0之间 如果有不连续的时间片段 置零 先找到时间间隔 再看间隔时间对应的速度是否为0 6. 不连续的时间片段去掉 生成的新的时间和速度的数组 7.. 加速度最大速度差 14.2857 km/h 减速度差 28.8 km/h 8. 超过3分钟 就是为 停车 删除后续的不正常数据 9 . 三个数据 合一个表格 10 . 建立二维元胞型数组 存储运动片段 11. 再次处理删除 时间片段 里面的 12.. 运动片段 的运动情况
资源截图
代码片段和文件信息
%2019/9/19
%fish
%1.raw中保存了所有日期的源格式
%19  去毛刺 分段 取连续 去
% 去掉数组中多余空间
clear;   % 清除变量
clc;     % 清理桌面
clear all ;   
filename1 = ‘文件1.xlsx‘;  %excel存放路径
filename2 = ‘文件2.xlsx‘;  %excel存放路径
filename3 = ‘文件3.xlsx‘;  %excel存放路径
sheet1 = 1;
sheet2 = 1;
sheet3 = 1;
xlRange1 = ‘A2:C185726‘;
xlRange2 = ‘A2:C145826‘;
xlRange3 = ‘A2:C164915‘;
[num1 text1 raw1] = xlsread(filename1sheet1xlRange1);  
[num2 text2 raw2] = xlsread(filename2sheet2xlRange2);  
[num3 text3 raw3] = xlsread(filename3sheet3xlRange3);  

for S_Num_ii=1:1:3
    if  S_Num_ii==1
        S_Num =length(raw1(:2 ));   % 需要处理总数
        Speed=num1(1:S_Num1)  ;                   %速度数值   
        time=raw1(1:S_Num1)  ;                   % 时间
    elseif  S_Num_ii==2
        S_Num =length(raw2(:2 ));   % 需要处理总数
        Speed=num2(1:S_Num1)  ;                   %速度数值   
        time=raw2(1:S_Num1)  ;                   % 时间
    else
        S_Num =length(raw3(:2 ));   % 需要处理总数
        Speed=num3(1:S_Num1)  ;     %速度数值   
        time=raw3(1:S_Num1)  ;      % 时间
    end

%% 1. 标记0与0之间的片段位置  
%  2019-09-20 00:38:45 
Zero_index = find(Speed(:1) == 0 );     % 0的位置为索引值    零的位置  
Zero_length=length(Zero_index)    ;      % 零的个数
Zero_section = zeros(Zero_length1);           % 大小初为S_Num   零的区间号
Zero_section_i=1;
Err_one=1;
for Zero_index_i = 1:1:Zero_length-1
          index_val1 = Zero_index(Zero_index_i1);
          index_val2 = Zero_index(Zero_index_i+11);
          index_val  = index_val2-index_val1;
          if   index_val>Err_one
             Zero_section(Zero_section_i1)=index_val1;                          % 标记大于的值的 索引值
             Zero_section_i = Zero_section_i+1;
             Zero_section(Zero_section_i1)=index_val2;                          % 标记大于的值的 索引值
             Zero_section_i = Zero_section_i+1;
          end
end
%%  2.标记所之间的毛刺数的位置
%  2019-09-20 07:14:10 -  2019-09-20 10:26:00
Zero_section_length=find(Zero_section(:1) == 0);      % 片段数据大小
Exceptional_Speed_Data = zeros(Zero_length1);   % 毛刺数据  建立数组
Exceptional_Speed_Data_i =1  ;                    %  数组的元素
Exceptional_Data_Point = 1;     %异常数据的点
More_Than_index_10 = 11 ;        %0之间大于10的数
for  Exceptional_Data_Point_i = 1:1:Zero_section_length(11)-2
     First_Zero_Position  = Zero_section(Exceptional_Data_Point_i1);     % 到第一为零的位置
     Second_Zero_Position = Zero_section(Exceptional_Data_Point_i+11);   % 到第二为零的位置
     if isempty(find(Speed(First_Zero_Position:Second_Zero_Position1) >= More_Than_index_10 1 ) )  %如果为空数组返回值为1           
              for  First_Zero_Position_i = First_Zero_Position:1:Second_Zero_Position
                  if Speed(First_Zero_Position_i1) ~= 0     %排除零
                        Exceptional_Speed_Data(Exceptional_Speed_Data_i1) = First_Zero_Position_i;  % 第一个毛刺数据的位置
                        Exceptional_Speed_Data_i=Exceptional_Speed_Data_i+1;     
                  end   
              end 
     end
end
Excep

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       25136  2019-09-23 18:09  Speed_time.m
     文件    15951016  2019-09-19 09:17  文件1.xlsx
     文件    12524014  2019-09-19 09:17  文件2.xlsx
     文件    13981121  2019-09-19 09:18  文件3.xlsx
     文件      122093  2019-09-20 11:56  汽车行驶工况构建0914.docx

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)