用matlab对文件进行批处理

作者&投稿:只屠 (若有异议请与网页底部的电邮联系)
Matlab中如何批量读取文件夹中的文件进行处理?~

1 图像按编号命名:1.jpg, 2.jpg,....,n.jpg
2 循环读图
I=cell(1,n);
for i=1:n
imageName=strcat(num2str(i),'.jpg');
I{i} = imread(imageName);
end
3 处理图像
-----------------------
如果图像很多,那么最好这样,第二步和第三步合并
for i=1:n
imageName=strcat(num2str(i),'.jpg');
I = imread(imageName);
处理当前图像

利用load,read等函数读入文件,利用循环简化代码的书写
以下是我2013年全国数模B题第一问编写的程序,是关于如何循环读入文件的
clc,clear
for k=1:19
if k<=10
s=['00',num2str(k-1)];
else
s=['0',num2str(k-1)];
end
A(:,:,k)=imread(s,'bmp');
end
for k=1:19
if A(:,1,k)==255
b(1)=k;
end
end
warning off %#ok
for k=1:18
for i=1:19
X=[A(:,72,b(k))';A(:,1,i)'];
Y(i)=pdist(X,'cityblock');
end
[Min,position]=min(Y);
b(k+1)=position;
end
for k=1:19
c(k)=b(k)-1;
end
B=[];
for i=1:19
B=[B,A(:,:,b(i))];
end
imwrite(B,'附件1\1st.bmp');
imshow(B);

方法一、

点开屏幕上方菜单“试图”,选“工具栏”,弹出窗口后在你想要现实的工具条名字前面点一下打上对钩,工具条就出现了。

方法二、

1、单击顶层工具栏里的“工具”,接着点击最后的“选项”。在选项栏进去之后的页面选择倒数第二个“配置”。

2、左边的白框里有多种选择,不用管它的存在。直接点击“重置”,然后点击“确定”就可以了。



%该程序实现了数据文件的批处理,并将处理后的文件以CL_name存储在相同文件夹中。
%对数据的处理为:每隔k步提取一组数据,将提取的数据写入文件存储
%
%2007.4.6 wangbo E-mail:wboboer@163.com
%-------------------------------------------------------------------------%

clear
%提取间隔
k=4;
%导入原始数据
cd('D:\Program Files\MATLAB\R2006a\new');%待处理的数据文件所在文件夹
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
%dir命令,可以得到路径内包括文件名在内的文件信息,为struc数据结构。
%-------------------------------------------------------------------------%
%逐个读入文件
[m,n]=size(Allname);

for i=3:n%前两个不是文件名
name=Allname{1,i};
Imdata=importdata(name);
%-------------------------------------------------------------------------%
Bdata=Imdata.data;
textdata=Imdata.textdata;
colheaders=Imdata.colheaders;
clear Imdata
%简化变量名
%-------------------------------------------------------------------------%
%数据提取
B_tiqu=Bdata([1:k:end],;

%-------------------------------------------------------------------------%
%数据输出
t1=cell2mat(textdata(1,1));
t2=cell2mat(textdata(2,1));
c=cell2mat(colheaders(1,);

%保存文件重命名为CL_name
qianzhui='CL_';
name=[qianzhui,name];

%数据写入
%表头文字部分
f=fopen(name,'wt','n','ASCII');%创建并打开文件
fprintf(f,t1);
fprintf(f,'\n');
fprintf(f,t2);
fprintf(f,'\n');
fprintf(f,c);
fprintf(f,'\n');
clear t1 t2 c qianzhui name
%数据部分
M=length(B_tiqu);
for i=1:M
fprintf(f,'%d %d %d %d',B_tiqu(i,);%输出格式类似C语言,可自己调整
fprintf(f,'\n');
end%for i=1:M
fclose(f);%关闭文件

end %for i=3:n

把.mat文件放到一起
先ctrl+a再按F2

命名为XX(i).mat
for i=1:100

load strcat('XX(',num2str(i),').mat'');

end

%strcat是全并string

思路两种方案:
一种,写到临时文件,再覆盖回来。
二种,以读写方式打开。

二十分钟后再来取吧。
第二种方案:
dirpath=uigetdir;
filestruct=dir(dirpath);
Nfile=length(filestruct);

for i=1:Nfile
if strcmp(filestruct(i).name,'.') || strcmp(filestruct(i).name,'..')
continue;
end
fp=fopen([dirpath,'\',filestruct(i).name],'r+');
data=fscanf(fp,'%f')
data=data+1;
frewind(fp);
fprintf(fp,'%f\r\n',data);
fclose(fp);
end

不过输出数据的形式改成浮点型,即使以前是1,这里会变成2.0000

@echo off
for /f "tokens=* delims=" %%i in ('dir /a-d /b *.txt') do (
for /f "tokens=* delims=" %%a in (%%~nxi) do (
set /a n=%%a+1
echo %n%>>tempxx.bak
)
del %%~nxi
ren tempxx.bak %%~nxi
)


MATLAB如何读取mat文件?
● load -ascii filename:无论输入文件名是否包含有扩展名,将其以ASCII格式导入;如果指定的文件不是数字文本,则返回error。● load -mat filename:无论输入文件名是否包含有扩展名,将其以mat格式导入;如果指定的文件不是MAT文件,则返回error。例13-1 将文件matlab.map中的变量导入到工作区中。

matlab程序中如何实现对另一个m文件的修改?
恩。。如果一定要直接操作文件的话,建议是用一个变量保存表达式(或许是字符串),然后直接读取一个m文件全部内容,按行读入到一个cell数组后,将其中第一行替换为"变量名 = 表达式;"这种语句,然后将全部内容重新写回那个m文件。如果觉得这样麻烦想用第三个文件做中转的话,建议用save命令保存到.mat...

用matlab依次处理一个文件夹的文件,
首先说对一个wav文件的操作:wavread可以读入音频数据;处理自便;保存用wavwrite;具体用法看帮助 然后说对多文件的操作:dir('*.wav');可以列出文件夹下所有wav文件,返回值的格式看帮助;然后for循环操作每一个文件就可以了。如果要具体代码,就别追问了。自己稍微动一下脑筋就有。思路不清可以继续问...

Matlab文件夹、文件、读取操作(汇总)
其中dirname是要查找的路径的名字,路径在matlab的搜索路径内时,没有必要输入全名,只输入最后或最后两级就够了。fopen ('filename', 'mode')mode格式有:‘r’:只读方式打开文件(默认的方式),该文件必须已存在。‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。‘w’:打开后写...

如何用matlab实现对一个dat文件中的数据进行分组?
1、使用load命令,加载dat数据文件,即 A=load('123.dat')2、分别将A中的数据,赋值给(x,y),即 x=A(:,1)y=A(:,2)3、使用for循环语句,显示每组坐标,即 for i=1:length(x)disp(['x=',num2str(x(i)),' y=',num2str(y(i))]);end 4、也可以使用plot函数,绘制(x,y)的...

matlab如何读取txt文件
1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...

用matlab对文件进行批处理
方法一、点开屏幕上方菜单“试图”,选“工具栏”,弹出窗口后在你想要现实的工具条名字前面点一下打上对钩,工具条就出现了。方法二、1、单击顶层工具栏里的“工具”,接着点击最后的“选项”。在选项栏进去之后的页面选择倒数第二个“配置”。2、左边的白框里有多种选择,不用管它的存在。直接...

MATLAB使用小技巧之一:如何利用MATLAB对文件进行重命名
这个是MATLAB调用系统函数,其它MATLAB自带有那些简单的文件管理函数,比如删除delete,新建mkdir,复制copyfile等

MATLAB 对于一个已完成的M文件(有输入和输出),如何创建一个GUI界面...
你之前编写好的负责计算m文件是脚本文件还是函数文件 如果是脚本文件的话,要想办法改成函数文件 并使其能够接受两个输入参数 根据两个输入参数计算出24个输出参数 而24个输出参数的形式是固定的8x3,所以完全可以输出一个矩阵 那么你用于计算的函数大概拥有下面的形式 输出矩阵= 函数名(输入参数1,输入...

matlab movefile怎么实现对所有文件夹都能修改?
matlab的m文件有两种运行方式(快捷键f5),一是切换到m文件所在目录,另一个是添加m文件所在目录到path环境中。如果你是想在另一个文件夹中实现功能而不用复制m文件过去,就先打开该m文件,然后在matlab中切换当前工作目录到该文件夹中,然后f5或者点运行,选择添加到路径中即可在新文件夹中实现该m...

湄潭县17390109056: matlab如何做批处理 -
吴和二母: 在你处理的程序外套一个循环就好了 filepath='C:\Users\LEE\Desktop\大气实验数据\'; %文件路径 for num=1:9 filename=num2str(num,'ChA%03d.dat'); %文件名循环每次不一样 filenameA=fullfile(filepath,filename); %文件全名 fid = fopen(filenameA, 'rb'); %下面是你的处理过程 ........ ....... %每次循环处理完的数据记得存在不同 %的变量里,要不然每次处理新的数据 %覆盖原来旧的数据,最后只剩最后一个 end

湄潭县17390109056: 如何用matlab批量处理txt文档 -
吴和二母: 可以,dir 可以读取所在目录下的所有文件名,自己拼接路径字符串就好了. 读取可以用textscan等等函数. 筛选标准自己定.

湄潭县17390109056: 请问如何用matlab批处理多个数据文件??
吴和二母: 把.mat文件放到一起 先ctrl+a再按F2 命名为XX(i).mat for i=1:100 load strcat('XX(',num2str(i),').mat''); end %strcat是全并string

湄潭县17390109056: 如何用matlab批处理Excel数据?紧急!!! -
吴和二母: 可以设置一个矩阵,然后将数据复制粘贴进去.之后对矩阵进行处理,可用循环结构.得到的结果也可以赋给一个矩阵

湄潭县17390109056: Matlab中如何批量读取文件夹中的文件进行处理? -
吴和二母: 1 图像按编号命名:1.jpg, 2.jpg,....,n.jpg2 循环读图 I=cell(1,n); for i=1:n imageName=strcat(num2str(i),'.jpg'); I{i} = imread(imageName); end3 处理图像----------------------- 如果图像很多,那么最好这样,第二步和第三步合并 for i=1:n imageName=strcat(num2str(i),'.jpg'); I = imread(imageName); 处理当前图像

湄潭县17390109056: 用matlab 批处理一些txt文件 -
吴和二母: 首先要把数据导入:有三种常见的方式:1. A=importdata('filename.txt') ,filename是txt文件名;2.load filename.txt 这样也是载入n*m的矩阵;3.在MATLAB的work文件夹下,选择想要导入的数据,用右键importdata,根据向导一步一步导入即可.导入之后最后用plot命令绘图即可.如果都画到一张图上,可将所绘的所有图形用origin 编辑.Matlab好像也是可以的,你自己找一下绘图窗口的相关工具.

湄潭县17390109056: matlab怎么批量处理图片 -
吴和二母: uigetfile函数可以通过对话框的形式获取文件的信息,将控制参数MultiSelect的值设为on,可以打开多个文件.例如: [filename, pathname, filterindex] = uigetfile( '*.bmp', 'MultiSelect', 'on'); 上述命令就是获取多个bmp图像文件的命令,filename信息是文件名,pathname信息是文件的路径.之后可以用一个for循环,在for循环中依次打开所有的bmp文件进行处理.

湄潭县17390109056: 如何使用matlab来批处理文件图片格式 -
吴和二母: 用photoshop转换1)把要转换的文件都放在一个文件夹里2)打开一张,动作面板,新建动作,另存为,选择tiff格式,保存,关闭(ctrl+w),停止记录动作3)文件-自动-批处理,选择刚刚记录的动作,选择文件夹4)这样就开始自动运行了

湄潭县17390109056: matlab中怎样在命令窗口中批量执行m文件的内容.(我现在有1.m 2.m 3.m ........许多m文件需要批量处理. -
吴和二母: 我的建议是 你把初始变量的值都给定,例如参数a=10;把这些参数的值和你1.m 2.m 这些个函数按照顺序都放在一个新的m文件里,例如x.m,然后运行x.m.你可以试试.

湄潭县17390109056: matlab怎样运行bat文件 -
吴和二母: 如果文件名是a.bat,那么在命令行输入:!a,即可运行BAT文件.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网