Matlab实用代码——定位文件位置,自动导入文件
2018-01-29 16:33
417 查看
代码功能:
1、弹出文件夹选择对话框,选择文件所在位置。
2、加载指定名称文件。
例子:
加载NASA锂电池数据集,文件为B0005、B0006、B0007、B0018.
每个文件下面都是一个同名的结构体,该结构体下是一个名为cycle的结构体;cycle结构体包含很多字段。
目标是找到type字段中所有‘discharge’对应data结构体中的Capacity数据。
数据集来源:
https://ti.arc.nasa.gov/tech/dash/groups/pcoe/battery-prognostics/algorithms/
或 https://download.csdn.net/download/ckzhb/10285027
源代码:
http://download.csdn.net/download/ckzhb/10229911
数据集结构如下图:
function [data] = loadBatteryData(datasetNumber)
% 加载锂电池数据集
% Input:
% datasetNumber-两位数即 05 06 07 18
% Output:
% data - 电池容量
% Usage:
% 选择锂电池数据集mat文件所在的文件夹;
R = uigetdir('*.mat','Choose battery data'); %选择数据集所在文件夹
if datasetNumber<10
name = ['B000' num2str(datasetNumber)];
load([R '\B000' num2str(datasetNumber) '.mat'],name);
end
if datasetNumber>9
name = ['B00' num2str(datasetNumber)];
load([R '\B00' num2str(datasetNumber) '.mat'],name);
end
s = eval(name);
temp = s.cycle;
for i =1:length(temp)
if strcmp(temp(i).type, 'discharge')
data(i) = temp(i).data.Capacity;
end
end
index = find(data==0);
data(index)=[];
end
代码详解:
1、R = uigetdir('*.mat','Choose battery data');
uigetdir函数得到指定文件类型(第一个参数)的文件夹位置。第二个参数是对话框标题。返回字符串。
2、name = ['B000' num2str(datasetNumber)]; 构造加载的文件的名字,是一个字符串格式
3、load([R '\B000' num2str(datasetNumber) '.mat'],name);
加载mat文件,[R '\B000' num2str(datasetNumber) '.mat']是完整的文件路径,注意中括号和引号!!
下面步骤根据文件中的变量
4000
具体格式进行调整,不做详细介绍。
4、s = eval(name); 将字符串转化为 变量名。
1、弹出文件夹选择对话框,选择文件所在位置。
2、加载指定名称文件。
例子:
加载NASA锂电池数据集,文件为B0005、B0006、B0007、B0018.
每个文件下面都是一个同名的结构体,该结构体下是一个名为cycle的结构体;cycle结构体包含很多字段。
目标是找到type字段中所有‘discharge’对应data结构体中的Capacity数据。
数据集来源:
https://ti.arc.nasa.gov/tech/dash/groups/pcoe/battery-prognostics/algorithms/
或 https://download.csdn.net/download/ckzhb/10285027
源代码:
http://download.csdn.net/download/ckzhb/10229911
数据集结构如下图:
function [data] = loadBatteryData(datasetNumber)
% 加载锂电池数据集
% Input:
% datasetNumber-两位数即 05 06 07 18
% Output:
% data - 电池容量
% Usage:
% 选择锂电池数据集mat文件所在的文件夹;
R = uigetdir('*.mat','Choose battery data'); %选择数据集所在文件夹
if datasetNumber<10
name = ['B000' num2str(datasetNumber)];
load([R '\B000' num2str(datasetNumber) '.mat'],name);
end
if datasetNumber>9
name = ['B00' num2str(datasetNumber)];
load([R '\B00' num2str(datasetNumber) '.mat'],name);
end
s = eval(name);
temp = s.cycle;
for i =1:length(temp)
if strcmp(temp(i).type, 'discharge')
data(i) = temp(i).data.Capacity;
end
end
index = find(data==0);
data(index)=[];
end
代码详解:
1、R = uigetdir('*.mat','Choose battery data');
uigetdir函数得到指定文件类型(第一个参数)的文件夹位置。第二个参数是对话框标题。返回字符串。
2、name = ['B000' num2str(datasetNumber)]; 构造加载的文件的名字,是一个字符串格式
3、load([R '\B000' num2str(datasetNumber) '.mat'],name);
加载mat文件,[R '\B000' num2str(datasetNumber) '.mat']是完整的文件路径,注意中括号和引号!!
下面步骤根据文件中的变量
4000
具体格式进行调整,不做详细介绍。
4、s = eval(name); 将字符串转化为 变量名。
相关文章推荐
- vs2010自动展开选中当前代码所在的文件位置的功能
- vim使用—移动到文件开始和结束位置和当前位置(gg,G)、快速定位到当前光标所在变量或函数的定义处(gd)、自动对齐C和C++程序(先gg再=再G)、自动补全变量名,函数名和字符串ctrl+n或ct
- 如何用Java代码来把SSL的证书自动导入到Java的秘钥存储文件(keystore)
- vim使用—移动到文件开始和结束位置和当前位置(gg,G)、快速定位到当前光标所在变量或函数的定义处(gd)、自动对齐C和C++程序(先gg再=再G)、自动补全变量名,函数名和字符串ctrl+n或ct
- eclipse左边导航(菜单栏)package explorer自动定位(跟随打开的代码变化位置)、导航栏消失找不到解决
- phper 的两个实用批处理助你自动格式化php代码、清除svn、netbeans等工程文件
- Android Studio使用技巧之快速定位代码文件所在的电脑磁盘文件夹位置
- eclipse左边导航(菜单栏)package explorer自动定位(跟随打开的代码变化位置)、导航栏消失找不到解决
- Eclipse导入颜色配置文件导致代码自动提示功能失效的解决方法
- Idea设置单击打开文件或者双击打开文件、自动定位文件所在的位置
- eclipse 导入dtd文件 实现代码自动提示
- Matlab 自动导入通达信板块文件
- 使用matlab识别条形码(目前还无法自动定位图片中条形码位置,需人工确定条形码所在范围区间)
- Eclipse 进入代码定位文件位置
- 在Myeclipse中完成代码自动填充,自动提示功能的方法:以及如何在导入和导出配置文件。
- VS 自动展开选中当前代码所在的文件位置的功能
- IntelliJ IDEA 自动导入包 快捷方式 关闭重复代码提示
- vs2010利用map,cod文件定位崩溃代码行
- duilib 修复combo控件打开下拉菜单后不会自动定位到上次选择的位置上的bug
- MyBatis Generator自动生成代码文件