function z=my_cond(num); 

r_num=50;

% for r=1:50

%     dcm='E:\散射0.2-6um\';
%     rds=num2str(r/10);

%     opn_name=[dcm rds 'um.txt'];

%     fid(1)= fopen(opn_name,'rt');
%     for w=1:5800
%         Q_orgin(w,r)=fscanf(fid(1),'%e',1);
%     end
%     fclose(fid(1));
% end

wave_num=50;

for r=1:50
    for s=1:wave_num
        Q_try(s,r)=Q_orgin(ceil(num(s)),r);
    end
end
z=cond(Q_try);


上面这段代码是m文件里的代码(目标函数),当用matlab自带遗传算法工具箱优化的时候,%号后面的部分,遗传算法每次循环都会调用,这样会极大增加计算时间。实际上只需要调用一次就可以了,有什么办法只让这部分在第一次循环的时候才调用,以后就不调用了?