• 大小: 39.82MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-17
  • 语言: 其他
  • 标签: matlab  cars  

资源简介

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

评论

共有 条评论