matlab遍历搜索文件,并循环读取mat文件

该文介绍了在MATLAB中如何使用fullfile函数拼接路径,dir函数搜索文件,以及importdata函数读取数据。通过示例代码展示了如何遍历搜索到的.mat文件并进行读取操作,适用于处理批量数据的场景。
摘要由CSDN通过智能技术生成


前言

1、matlab遍历搜索文件
2、循环读取mat文件


一、fullfile-拼接路径;dir-搜索文件

fullfile - 从各个部分构建完整文件名

此 MATLAB 函数 根据指定的文件夹和文件名构建完整的文件设定。fullfile 在必要情况下插入依平台而定的文件分隔符,但不添加尾随的文件分隔符。在
Windows 平台上,文件分隔符为反斜杠 (\)。在其他平台上,文件分隔符可能为不同字符。

f = fullfile(filepart1,...,filepartN)

dir - 列出文件夹内容

此 MATLAB 函数 列出当前文件夹中的文件和文件夹。

dir
dir name
listing = dir(name)
%定义基础搜索路径
base_path = './';
%使用fullfile函数拼接完整路基
all_file_path = fullfile(base_path,'*.mat');

%输出可以看到all_file_path = '.\*.mat'
all_file_path

%使用dir函数进行搜索
file = dir(alll_file_path);
file

搜索结果为struct形式:
在这里插入图片描述

二、根据搜索结果进行遍历 importdata-读入数据

importdata - 从文件加载数据

此 MATLAB 函数 将数据加载到数组 A 中。

A = importdata(filename)
A = importdata('-pastespecial')
A = importdata(___,delimiterIn)
A = importdata(___,delimiterIn,headerlinesIn)
[A,delimiterOut,headerlinesOut] = importdata(___)
%以mat文件为示例,使用循环读取搜索到的mat文件
for i = 1:length(file)%对每个数据进行处理
    %数据的名字 xx.mat
    name = file(i).name;
    %数据的路径 ./ 只有上一级路径,不包括文件名
    path = file(i).folder;
    %使用fullfule拼接
    file_path = fullfile(path, name);
    
    %从完整路径读取mat里的data
    data = importdata(file_path);
    size(data)
end

三、完整代码

%本示例展示如何通过matlab遍历寻找指定文件

%定义基础搜索路径
base_path = './';
%使用fullfile函数拼接完整路基
all_file_path = fullfile(base_path,'*.mat');
all_file_path
%使用dir函数进行搜索
file = dir(all_file_path);
file

%以mat文件为示例,使用循环读取搜索到的mat文件
for i = 1:length(file)%对每个数据进行处理
    %数据的名字 xx.mat
    name = file(i).name;
    %数据的路径 ./ 只有上一级路径,不包括文件名
    path = file(i).folder;
    %使用fullfule拼接
    file_path = fullfile(path, name);
    
    %从完整路径读取mat里的data
    data = importdata(file_path);
    size(data)
end
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值