精华内容
下载资源
问答
  • 2020-05-25 15:39:04

    Matlab批量读取数据文件

    初次使用Matlab解决问题,记录一下。

    需求

    首先说明一下需求,机器能够将18×18的数据矩阵保存到文件中,要做的是读取这个文件,去除首行的无关数据,最终输出矩阵各元素的方差。使用的工具是Matlab。

    path = ('E:\Data\');%数据文件夹路径
    namelist = dir([path,'*.wft']);%提取wft文件的文件信息
    l =length(namelist);%wft文件的个数
    for i = 1:l
    fullname{i} = [path,namelist(i).name];%保存路径+文件名=绝对路径
    A = importdata(fullname{i});%将文件中的数据赋值到矩阵中
    A (1,:) = [];%去除第一行的无用数据
    b(i) = std2(A);%计算方差
    end
    

    解决思路,第一步是找到数据文件的相对路径,程序中首先读取文件目录,然后在用dir函数找到目录下面,该文件类型的所有文件。将文件个数赋值给l,方便后续循环计算方差。
    第二步就是将文件中的数据值导入到矩阵中,主要参考了《matlab批量读取同一目录下的txt文件》首先找到文件的绝对路径,在使用importdata函数将数据导入,如果是xls文件可以使用xlsread函数。类似的还有load函数。
    第三步是去除无关函数,这里参考了《matlab中矩阵删除一行或一列的方法》,去除了第一行无用数据。然后使用std2()函数计算矩阵方差。
    循环第二、三步即可逐渐完成文件的逐一读取,以及方差的计算。

    缺憾

    文件的实际保存形式是第一行为两个无用数据,从第二行开始是18×18的数据矩阵,使用本文中的方法,读取到的是163×2的矩阵,矩阵的行列收到了第一行数据的限制,虽然去除第一行后对结果的计算没有影响,但是应该有办法解决这个问题,猜测方法是首先通过zeros限定矩阵大小,再将数据导入,但是受限于水平,只能做到目前的样子。

    更多相关内容
  • matlab批量读取文件

    2013-09-20 10:41:05
    从一个文件夹下批量读取指定类型或者所有类型的文件,如所有的jpg图片,文件夹等,根据个人设置来获取读取结果,自己加限定,目前里面的实例是读取jpg图片
  • matlab 批量读取文件

    2021-06-11 15:21:31
    %Matlab使用dir函数获得指定文件夹下符合要求的所有子文件夹和文件,并存放在在一种为文件结构体数组中 for n = 1:length(file0) A0_in(n,:) = load(['E:\Program\Matlab\SVM\test_data\branch\test\',file0(n).name...
    file0 = dir('E:\Program\Matlab\SVM\test_data\branch\test\*.txt');%Matlab使用dir函数获得指定文件夹下符合要求的所有子文件夹和文件,并存放在在一种为文件结构体数组中
    for n = 1:length(file0)
        A0_in(n,:) = load(['E:\Program\Matlab\SVM\test_data\branch\test\',file0(n).name]);
    end
    
    filename = 'E:\Program\Matlab\SVM\test_data\branch\test\';
    file = dir(strcat(filename,'*.txt'));
    for n = 1:length(file)
        A_in(n,:) = load([filename,file(n).name]);
    end
    

    其实上面这两个是一个意思,都可以用啦,不过第一个看起来不绕一点
    就是先把指定文件夹下的所有文件读取到一个strut里面,这里面包括文件名,日期等等
    然后循环就是,n为文件个数,读取这个struct里面属于name的一列,即文件名字,循环读取每一个文件名,并加载这个文件的内容
    在这里插入图片描述

    展开全文
  • Matlab批量读取文件

    千次阅读 2019-08-02 15:26:16
    Matlab循环读取文件 要读取一个文件并处理,只需要把文件路径写好就行了,但是我们有时候需要批量处理多个文件,这时候怎么办呢? 可以利用循环,每一次自动修改文件路径 for x = 1 : 5 %注意这里需要把x转换成 str...

    Matlab循环读取文件

    要读取一个文件并处理,只需要把文件路径写好就行了,但是我们有时候需要批量处理多个文件,这时候怎么办呢?
    可以利用循环,每一次自动修改文件路径

    for x = 1 : 5
           %注意这里需要把x转换成 str 类型, num2str(x)前后需要空格和其他部分隔开
    		filename = ['F:\Matlab\test_' num2str(x) '.txt'];   
    		fid = fopen(filename, 'r'); %每一次都打开对应的文件
    		%处理数据
    		fclose(fid); %关闭文件
    end
    

    在这里插入图片描述

    展开全文
  • matlab批量读取处理文件

    千次阅读 2021-04-14 21:23:49
    matlab需要读取一个文件夹下的多个子文件夹中的某种指定格式的文件,该如何批量操作呢? 首先,先介绍几个matlab中常用的函数 1. dir() 2. length() 3. isequal() 4. fullfile() 参考: ...

    matlab需要读取一个文件夹下的多个子文件夹中的某种指定格式的文件,该如何批量操作呢?

    • 一. 常用函数介绍:

    首先,先介绍几个matlab中常用的函数

    1. dir()

    Matlab使用dir函数获得指定文件夹下的所有子文件夹和文件,并存放在在一种为文件结构体数组中.
    dir函数可以有调用方式为:

    • dir('.')   列出当前目录下所有子文件夹和文件
    • dir('G:\Matlab')   列出指定目录下所有子文件夹和文件
    • dir('*.m')   列出当前目录下符合正则表达式的文件夹和文件

    例如:

    文件夹结构如下:

    代码:

    maindir = 'E:\ACourse\大数据专题实践\LFcode\Sample_test';
    subdir=dir(maindir)

    结果,输出一个7*1的struct数组:

     

    会发现, 多了两个文件夹, 分别是 '.''..' ,被隐藏了, 在写代码的过程中一定要考虑到这两个问价夹;

    此外, 以上struct中的 name, folder, 等6个属性均可以被调用, 调用格式为 subdir.name subdir.folder等, 其中name isdir最为常用

    • name 顾名思义,表示文件或文件夹的名字, 例如:
    subdir(3).name

    则 输出为第三个文件夹的名字:

    如果想要得到某个文件夹下所有的某种指定格式的文件,可以通过如下方式获得:

    f = dir('E:\ACourse\大数据专题实践\LFcode\Sample_test\*.docx')
    # 或者
    maindir = 'E:\ACourse\大数据专题实践\LFcode\Sample_test';
    subdir = fullfile(maindir, '*.docx');
    f = dir(subdir)

    结果:

     

    • isdir 则是判别该内容类型是 目录(文件夹) 还是 文件, 若是 目录(文件夹) 则返回逻辑1或True, 若是 文件 则返回逻辑值0或False. 例如:
    maindir = 'E:\ACourse\大数据专题实践\LFcode\Sample_test';
    subdir = dir(maindir);
    subdir(3).isdir

     结果:

    2. length()

    • l = length(x) % 返回向量的长度, 例如:

    代码:

    x = ['a' 'b' 'c'];
    l = length(x)

    结果:

     

    3. isequal()

    • tf = isequal(A, B, ...) %如果输入数组是相同的,则tf=isequal(A, B, ...)返回逻辑1(真),否则返回逻辑0(假)。非空数组必须有相同的数据类型和大小。例如:

    代码:

    tf = isequal('aaa','aaa')

     结果:

    4. fullfile()

    • f = fullfile(‘dir1’, ‘dir2’, …, ‘filename’) %fullfile构成地址字符串;

    注意最后一个是filename, 要带文件名后缀 ,例如:

    代码:

    f = fullfile('G:\PLNet', 'Sample_test', 'raw.lfp')

    输出: 

    • 二. 实例场景及代码

    接下来, 给出一个最近遇到的实例场景及代码

    1. 应用场景如下:

    现在有上千张lfp格式的图片, 分别存放在PLNet下的每一个子问价夹中, 需要使用matlab批量依次对每一个lfp文件进行处理, 得到对应的bmp格式的文件,并保存在当前文件夹下

    可以先将文件格式处理的过程封装成一个函数, 具体不用管, 就是一个如下样式的函数

    function dataprocess(lfp文件地址, bmp文件保存地址)     read , process, save 将lfp文件进行处理,并保存在当前文件夹内  实现上述功能

    然后就是文件批量处理的过程, 定义一个主函数, 调用上述功能函数。

    2. 具体代码如下:

    maindir = 'E:\ACourse\大数据专题实践\LFcode\Sample_test\ss';
    subdir=dir(maindir);
    for i = 1:length(subdir)
        if( isequal( subdir( i ).name, '.' ) ||  isequal( subdir( i ).name, '..' ) || ~subdir( i ).isdir )   % 如果不是目录 就跳过
            continue;
        end
        subdirpath = fullfile(maindir, subdir(i).name, 'raw.lfp');
        savepath = fullfile(maindir, subdir(i).name, 'raw.bmp')
        % read , process, save 将lfp文件进行处理,并保存在当前文件夹内
        % function data_process(lfp文件地址,bmp文件保存地址)  实现上述功能
        dataprocess(subdirpath, savepath);
    end

    注意: 在定义的function dataprocess中, 一定要注意路径的问题, 不要随意改变路径, 或者随意执行打开某个文件夹的操作, 如果确实需要, 则一定记得在执行结束后要加上cd('..') 返回上级原目录的操作, 否则会出现主函数中  function dataprocess路径不对而无法找到的问题 。

     

    参考:

    https://www.cnblogs.com/smqh-bokeyuan/p/11406549.html

    https://blog.csdn.net/loadqian/article/details/80656453

    https://blog.csdn.net/qq_18343569/article/details/50960254

    https://www.cnblogs.com/Terrypython/p/9496879.html

    展开全文
  • matlab 批量读取csv

    2017-02-26 19:07:34
    matlab批量读取csv文件,csvread.
  • matlab读取某个采集生成的振动数据或其他数据,文件夹为当前日期,文件为传的参数.txt,数据为单列数据。
  • xml中包含的是图片中缺陷区域的坐标,用matlab读取读取其中的信息,并批量读取图片,将缺陷区域保留,其余置黑,最后将处理后的图片保存到其他文件夹中
  • MATLAB图像批量读取.rar

    2020-07-11 10:00:36
    MATLAB批量读取路劲下图像》的附带代码。内容文中可以,没积分可直接到https://blog.csdn.net/xsz591541060/article/details/107280266中复制即可。
  • 批量读取全部sheet内容,可指定,并对无效内容处理,提取所需数据并画图
  • 这里一共给出了四种读取csv文件的方法,csvread,importdata,textscan和uiopen,个人觉得最好用的是最后一种 1.csvread M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,这时要求整个csv文件内容...
  • matlab读取一个目录下的所有.wav文件
  • MATLAB怎么批量读取文件夹中的文件

    万次阅读 多人点赞 2019-05-24 19:56:02
    今天给大家介绍一下MATLAB中如何批量读取文件夹中的文件,实现很简单,程序如下(比如我批量读取文件中的xlsx文件): str = 'G:\MATLAB Program\Project Program\数据\'; files = dir(strcat(str,...
  • matlab读取bdf文件

    2020-09-23 17:07:04
    matlab读取patran的bdf文件,以便修改patran内部载荷设置,通过读取其内部的数值,再在matlab中修改,最后改变patran载荷
  • 以下为matlab批量读取txt文件代码: List =dir('C:\Users\DELL\Desktop\data\*.txt'); %设置路径 for i=1:1:length(List) %挨个读入txt文件数据 A{i}=importdata(['C:\Users\DELL\Desktop\data\',List(i).name])...
  • matlab批量读取文件的两种方法   % 1.循环读取文件;针对文件名字有序 for i=1:4  str= strcat ('D:\data\tek', int2str(i) , '.xls') ; % 连接字符串形成图像的文件名  a{i}=xlsread(str); end ...
  • matlab如何批量读取文件

    千次阅读 2018-11-03 22:28:50
    此方法无需重命名文件,只需要把文件放在同一文件夹了即可。其方法是利用dir把目录下的的文件名保存的一个数组中,然后挨个调用就可以了。 clc;clear addpath('shuju') n=166; I=cell(1,n); file_path ='F:\zdmatlab...
  • matlab批量读取dat

    2021-04-18 09:42:58
    matlab如何生成数据dat文件_数学_自然科学_专业资料。第一种方法:sav...matlab中读取txt中数据 2页 1... 1页 2下载券 matlab批量读写数据 2页 1下载券 ......用MATLAB生成DAT文件 f1=10;f2=100;fs=400;N=400...supp...
  • 生成的HEVC的txt文件众多,需要提取需要的bits 手动操作繁杂 针对多文件夹下多个相同的txt文件适用
  • MATLAB批量读取nc文件

    千次阅读 2020-08-10 11:46:16
    MATLAB批量读取nc文件 clc;clear; datadir=’ D:\data’;%指定批量数据所在文件夹 filelist=dir([datadir,’*.nc’]);%指定批量数据的类型 for ii=1:length(filelist) filename=[datadir,filelist(ii).name]; value=...
  • 目前很多科学数据、气象数据都是NC格式,一般的软件无法打开NC文件,很难对其进行进一步处理。而我们直观且习惯的处理是图形化的tif,如利用ENVI,ARCGIS,ERDAS等,因此,ncToTif就很有必要
  • MATLAB批量读取Excel文件

    千次阅读 2021-06-10 17:56:18
    最近需要处理大量数据,因为上位机原因,总是保存多个Excel文件,所以需要使用MATLAB批量读取Excel文件的方法,接下来就简单记录一下过程,供日后学习和大家参考。 如下图,是保存在“D:\饮水机\水箱\ADRC_ysm_...
  • 读取单个nc文件的方法:clc,clear;ncid = netcdf.open('D:\precip.mon.1981-2010.ltm.nc','NOWRITE');%打开nc文件ncdisp('precip.mon.1981-2010.ltm.nc');%在命令窗中显示nc文件的变量PrecipData=ncread('precip.mon...
  • 求问怎样用matlab批量读取dat文件中的数据?在线等关注:137答案:2手机版解决时间 2021-02-24 23:26提问者终究是陌生了2021-02-24 12:03我的数据是在一个文件夹内,共10个dat文件,每个文件有四列,3000多行,都是双...
  • MATLAB批量读取图片三种方法,
  • MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,611
精华内容 1,044
关键字:

matlab批量读取文件

matlab 订阅