凯斯西储大学轴承数据集批量处理方法
看前面关于CWRU数据的博客,大家讨论的如此热烈,这里我就再分享一个可以批量处理凯斯西储大学轴承数据的方法(MATLAB实现)!
经过整理,官网上的数据大概如下:
文章图片
其中每个文件夹均有各自状态下的数据集,如下:
文章图片
这里我们在MATLAB中随意打开一个文件康康它长什么样子。哦,大概是这个鬼样子
文章图片
那么问题来了,如何仅仅提取我们需要的某一类数据呢?
好!如果你需要驱动端(DE)的数据,那你只需要X118_DE_time这个变量下的数据即可。
所以接下来就步入正题(前面也许是废话,凑字数)!
**整体思路如下:
- 首先把你的数据文件都放在同一文件夹下,然后读取该文件夹。
- 获取每一个文件的名字,并读取文件
- 获取文件中的变量名,并找到你想要的那个X118_DE_time
- 读取数据,写入新的文件**
namelist = dir('文件夹位置\*.mat');
% 这里会返回name、date、bytes等参数
len = length(namelist);
% 得到共有多少个文件
for i = 1:len% 依次加载文件
file_name = namelist(i).name;
% 读取文件名
route = '文件夹位置';
file_route = strcat(route, file_name);
% 地址组合
data = https://www.it610.com/article/load(file_route);
% 加载文件
fieldsname = fields(data);
% 这里data是结构体变量,获取文件的结构体变量名
for j = 1:length(fieldsname)% 依次加载变量名
% 将结构体成员由元胞数组转换成字符串格式
var_name = cell2mat(fieldsname(j));
if length(var_name) < 6% 匹配后7位是否满足条件
continue
elseif (strcmp(var_name(end-6:end),'DE_time'))%根据变量名后几位匹配
value = https://www.it610.com/article/getfield(data,var_name);
% 读取满足条件的变量值
suffix = char('.txt');
% 将文件名和后缀组合起来
new_file_name = strcat(file_name(1:end-4), suffix);
new_file_route = strcat(route, new_file_name);
dlmwrite(new_file_route,value,'newline','pc');
% 写入TXT文件
break
end
end
end
【凯斯西储大学轴承数据集批量处理方法】好了,然后打开你的文件夹,一群热乎的数据就提取出来了!
这么详细的注释笔者怕不是个傻子,溜了
后续操作见:
https://blog.csdn.net/qq_41687512/article/details/102917300
推荐阅读
- 奔向你的城市
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 原来幸运一直都在
- 这份史上最经典的3大学习方法,清华北大学霸都在用!
- 上大学究竟是为了什么
- 那些没上大学的人,现在怎么样了()
- 湖州大学生实践团开展系列活动践行生态文明理念
- 请不要强迫大学生打暑假工!
- 脱贫攻坚方显男儿本色|脱贫攻坚方显男儿本色 ———访湘潭大学驻张家坪村工作队长郭凤安