Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-11-02, 14:48   #1
genre
初级会员
 
注册日期: 2009-11-02
年龄: 45
帖子: 1
声望力: 0
genre 正向着好的方向发展
默认 请帮忙修改一个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
genre 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 14:39


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