首页 > 其他分享 >matlab批量读取目录下的文件的方法

matlab批量读取目录下的文件的方法

时间:2024-03-24 13:00:14浏览次数:36  
标签:files 批量 form list name matlab tname udir 读取

批量处理可以提高效率,这里提供一个可以批量读取nc文件的代码:

address = 'C:\Users\Hello World!!\DESKTOP\TerraClimate_ppt\';
% Get the list of files
udir = address;
form = '*.nc';
% Get the list of station names
files = GetFiles(udir,form); 
[n,p] = size(files);

读取结果如下图,然后就可以批量循环读取即可。

下面给出一个代码:

address = 'C:\Users\Hello World!!\DESKTOP\TerraClimate_ppt\';
% Get the list of files
udir = address;
form = '*.nc';
% Get the list of station names
files = GetFiles(udir,form); 
[n,p] = size(files);

ncdisp(files(1,:));
file = files(1,:);
lon = ncread(file,'lon');
lat = ncread(file,'lat');
[lon,lat] = meshgrid(lon,lat);
sta = load('station.txt');

for k = 1:n
    time = ncread(files(k,:),'time');
    dt2 = datetime((time)*24*3600, 'ConvertFrom', 'epochtime', 'Epoch', '1900-01-01');
    [yy,mm,dd] = ymd(dt2);
    for i = 1:12
        tt(i) = time_transfer([yy(i),mm(i),dd(i)],1);
    end
    ppt = ncread(files(k,:),'ppt');
    %% load station pos
    for ii = 1:length(sta(:,1))
        for jj = 1:12
            tmax(k).rg(ii,jj) = interp2(lon,lat,ppt(:,:,jj)',sta(ii,1),sta(ii,2));
        end
    end
    disp(k)
end

temp_min = cat(2,tmax.rg);

里面涉及的函数:

function files = GetFiles(udir,form)
% files = GetFiles(udir): Gets the list of files from the directory udir
%    Generate the list of files that are needed.

if ~isempty(udir) 
    % form = strcat(udir,form);
    form = fullfile(udir,form);
end
% OK, See which files we have as form_files
d = dir(form);
% Get the names of all files in the directory
dname = {d.name};
% Get the list of file full names
files = []; % sites = [];
for i = 1:length(dname)
    tname = cell2struct(dname(i),'name');
    % sites = [sites;tname.name(4:7)];
    % tname.name = strcat(udir,tname.name);
    tname.name = fullfile(udir,tname.name);
    files = [files;tname.name];
end
 

另一个处理时间的函数见:利用matlab处理netcdf文件中time变量的格式转换问题-CSDN博客

♥欢迎点赞收藏♥

标签:files,批量,form,list,name,matlab,tname,udir,读取
From: https://blog.csdn.net/weixin_43047707/article/details/136985803

相关文章

  • DBO优化最近邻分类预测(matlab代码)
    DBO-最近邻分类预测matlab代码蜣螂优化算法(DungBeetleOptimizer,DBO)是一种新型的群智能优化算法,在2022年底提出,主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。数据为Excel分类数据集数据。数据集划分为训练集、验证集、测试集,比例为8:1:1模块化结构:代码按......
  • DBO优化朴素贝叶斯分类预测(matlab代码)
    DBO-朴素贝叶斯分类预测matlab代码蜣螂优化算法(DungBeetleOptimizer,DBO)是一种新型的群智能优化算法,在2022年底提出,主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。数据为Excel分类数据集数据。数据集划分为训练集、验证集、测试集,比例为8:1:1模块化结构:代......
  • web前端之node读取文件夹名称及html文件的标题、文件系统、路径处理、模块、正则、isD
    MENU代码解析代码constfs=require('fs');constpath=require('path');//文件夹路径//C:\mssj\web\web-case\case\nodeJs\index.js//C:\mssj\web\web-case\case\nodeJs\index.html//C:\mssj\web\web-case\case\ajaxProgressMoni......
  • matlab实现神经网络检测手写数字
    一、要求1.计算sigmoid函数的梯度;2.随机初始化网络权重;3.编写网络的代价函数。二、算法介绍神经网络结构:不正则化的神经网络的代价函数:正则化:S型函数求导:反向传播算法:step1:初始化,然后使用前向传播算法计算step2:计算第三层的误差;step3:对于第二层 ;step4:使用......
  • EI级!高创新原创未发表!VMD-TCN-BiGRU-MATT变分模态分解卷积神经网络双向门控循环单元融
    EI级!高创新原创未发表!VMD-TCN-BiGRU-MATT变分模态分解卷积神经网络双向门控循环单元融合多头注意力机制多变量时间序列预测(Matlab)目录EI级!高创新原创未发表!VMD-TCN-BiGRU-MATT变分模态分解卷积神经网络双向门控循环单元融合多头注意力机制多变量时间序列预测(Matlab)预测......
  • 【python】写一个从指定路径读取xlsx的函数
    定义了一个名为read_xlsx的函数,从指定的路径(如果提供了路径)读取一个Excel文件并将其内容转换为pandas的DataFrame对象。#-*-coding:utf-8-*-#@Author:author_name#@Time:2024/3/2018:00importpandasaspddefread_xlsx(file_name,pat......
  • 批量绑定几千个域名
    1.此处服务器针对的是Windows系列,其他如Linux也是一样的道理2.说下思路,其实很简单,就是直接操作IIS的配置文件。3.IIS配置文件位置在C:\Windows\System32\inetsrv\config\applicationHost.config。注意:(各个版本之间的节点内容有些不一样,里面最核心一句都一样)4.<bindingprotocol......
  • 实时汇率API查询接口接入方法:支持逐笔报价、批量订阅、历史日K线、周K、月K
    在进行量化回测时,确实需要支持逐笔报价、批量订阅、以及获取历史日K线、周K线、月K线等功能,这些功能对于编写有效的交易策略和分析市场数据至关重要。一般来说,在进行量化回测时,我们可以选择使用专业的量化交易平台或软件,这些平台通常会提供相应的API接口来支持逐笔报价、批量订阅......
  • SpringBoot读取配置文件@Value || @ConfigurationProperties
    @Value注解优点:简单易用:@Value注解非常简单,适用于读取单个属性或简单的配置。灵活性:可以在任何Spring管理的bean中使用@Value注解,包括普通的bean、控制器、服务等。缺点:缺乏类型安全性:@Value注解不提供类型安全性检查,如果配置值的类型不匹配,只有在运行时才能发......
  • m基于深度学习的64QAM调制解调系统相位检测和补偿算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要        随着通信技术的飞速发展,高阶调制格式如64QAM在高速数据传输中得到了广泛应用。然而,由于信道失真、噪声干扰等因素,接收端往往面临相位偏移和信号失真等问题。为了解决这些问题,基于深度学习......