1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 在MATLAB中读取同一路径下多个txt或mat文件

在MATLAB中读取同一路径下多个txt或mat文件

时间:2022-11-22 02:46:30

相关推荐

在MATLAB中读取同一路径下多个txt或mat文件

1、matlab中给我们提供了dir这个函数,十分方便。这里是读取所有txt文件,所以是dir('父目录路径\*.txt'),读取其它格式文件一样,如读取该路径下的所有png图像文件,则为dir('父目录路径\*.png')。

%读取该目录下的所有txt文件%namelist = dir('C:\Users\Administrator\Desktop\基于HOG特征和相关性的轮廓匹配算法matlab\*.txt');% 读取后namelist的属性有% name -- filename% date -- modification date% bytes -- number of bytes allocated to the file% isdir -- 1 if name is a directory and 0 if not%通过字符串拼接,获取绝对路径可以直接用[],也可以用strcat()函数path = 'C:\Users\Administrator\Desktop\基于HOG特征和相关性的轮廓匹配算法matlab\';namelist = dir([path,'*.txt']);l = length(namelist);P = cell(1,l);%定义一个细胞数组,用于存放所有txt文件namelist(i).name;%这里获得的只是该路径下的文件名,如1.txt是相对路径for i = 1:lfilename{i} = [path,namelist(i).name];%通过字符串拼接获得的就是绝对路径了P{1,i} = load(filename{i});end

2、面对多个 .txt 文件的依次读入,且文件名按一定的规律命名,如:filename1.txt,filename2.txt,... 。是纯数字数据类型的文本(不掺杂字符类型)依次读入,我们可以将其存储为cell数据类型,以便于后面关于数据的操作。在这里我们举一个例子:假如有10个 .txt 文件,我们把这些数据读入并存储为cell数据类型。我们可以使用循环依次读入文件,Matlab 程序如下:

data = cell(1,10); %建立细胞存储空间for i = 1:10 g = ['filename' num2str(i) '.txt']; data(1,i) = {textread(g)};%读入 .txt 文件置于 data 细胞中end

对于读入的cell数据的显示,我们可以采用 :data{m,n}(p,q); %对存入的cell数据进行显示

在 .txt 文件中掺杂着字母+数字类型的,我们同样也可以存储为struct 结构体数据的类型。这里我们再举一个列子。比如:两幅带有英文+数字的 .txt文件。我们将其读入并存储为结构体类型。

for i=1:2str=strcat('filename',num2str(i),'.txt');hh{1}{i}=importdata(str);end

对于读入的struct数据的显示,我们可以采用:pp.textdata(2)%数据显示

面对多幅图片的读入,且文件名按一定的规律命名,如:filename1.jpg,filename2.jpg,... 。这里我们以依次读入三幅 .jpg 图片 为例,并存储为 struct 类型。

<pre name="code" class="html">for i=1:3str=strcat('filename',num2str(i),'.jpg');hh{1,i}=imread(str);end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。