sophiya 发表于 2008-12-16 22:36

遗传算法创建三维的初始种群

a=;
b=;
qS=;
for k=1 :4
    for i=1 : 5
      for j=1 :3
            tKS(k,:,:)=rep(a(k,:)-b,);
            aJS(k,:,:)=rep(a(k,:),);
            if i<tKS(k,i,j)
                f(k,i,j)=0;
            elseif i>aJS(k,i,j)
                f(k,i,j)=0;
            else
                f(k,i,j)=1;            
            end
            m(k,i,j)=f(k,i,j)*qS(j);
      end      
    end
end
这个算法在MATLAB中运行结果是正确的,但是
tG=;                        
Chrom=crtbp(20,9*5);               
FieldD=,);rep(,);rep(,)];
t=bs2rv(Chrom,FieldD);                        
for k=1 : 20
    for i=1 : 5                              
      for j=1 : 9                        
            tKS(k,:,:)=rep(t(k,:)-tG,);
            tJS(k,:,:)=rep(t(k,:),);   
            if i<tKS(k,i,j)                  
               f(k,i,j)=0;
            elseif i>tJS(k,i,j)               
               f(k,i.j)=0;
            else
               f(k,i,j)=1;                  
            end         
      end                     
    end   
end
在运行时就会出现??? Attempt to reference field of non-structure array.
其中第二个程序中t就是第一个程序中的a,只不过是用遗传算法生成的一个二维实数数组。而且在执行第二个程序for循环之前的语句是正确的,就是不知道为什么将先用遗传算法算创建初始的二维数组后,再用for循环就会出错。
在两个程序中f是个状态变量,在tKS和tJS之间取1,其他取0.
这个程序折磨了我好久,期盼高手相助啊!

sophiya 发表于 2008-12-21 20:11

请大家帮忙解决一下啊,我实在是找不出错误了

sigma665 发表于 2008-12-21 20:42

循环真多
有没有详细点的错误提示
页: [1]
查看完整版本: 遗传算法创建三维的初始种群