MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB图像处理] 请帮忙修改一个Matlab程序,加快处理速度 (https://www.labfans.com/bbs/showthread.php?t=10055)

genre 2009-11-02 14:48

请帮忙修改一个Matlab程序,加快处理速度
 
我有一段处理15个指标数据5个等级的Matlab,目前的程序处理速度太慢,想加快一下处理速度。注明:每一个原始数据位110M左右,总共有75个数据。附上程序,大侠帮忙修改,不甚感激!急用!
clc
clear
samples = 6427
lines = 4379
%权重
Wi0=[0.0608,0.0898,0.0608,0.1516,0.0758,0.1516,0.0758,0.0449,0.1649,0.0319,0.0371,0.0167,0.0075,0.0179,0.0110];
path0='G:\data\data';
%输出结果 filout
filout='G:\data\Result';
fidout=fopen(filout,'wb');
%拷贝头文件
filout_hdr='G:\data\Result.hdr';
filhdr='G:\data\data_1_1.hdr';
copyfile(filhdr,filout_hdr);
for i_samp=1:samples
dt=ones(15,5,lines);
for i=1:15
for j=1:5
%fil0='G:\1_risk1\data_1_1'; fil0='G:\1_risk1\data_2_1'
fil0=strcat(path0,'_',num2str(i),'_',num2str(j));
fid=fopen(fil0,'rb');
for isamp0=1:i_samp
dt0=fread(fid,[1,lines],'float');
end
fclose(fid);
dt(i,j,:)=dt0;
clear dt0 fil0 fid
end
end
dt_wi=ones(lines,1);
for j_lin=1:lines
dt0=Wi0*dt(:,:,j_lin);
dt_wi(j_lin)=max(dt0);
end
fwrite(fidout,dt_wi,'float');
clear dt_wi dt
end
fclose all


所有时间均为北京时间。现在的时间是 11:09

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.