peakzon 发表于 2008-11-19 17:00

求助:优化一下

for i=1:N,for j=1:n
      if i<=n1(1)
          K(i,j)=K1(i,j); GG(i,i)=GG1(i,j); RR(i,j)=RR(i,j);
      elseif i<=n1(2)
          K(i,j)=K2(i,j); GG(i,i)=GG2(i,j); RR(i,j)=RR2(i,j);
      elseif i<=n1(3)   
          K(i,j)=K3(i,j); GG(i,i)=GG3(i,j); RR(i,j)=RR3(i,j);
      elseif i<=n1(4)                     
         K(i,j)=K4(i,j); GG(i,i)=GG4(i,j); RR(i,j)=RR4(i,j);
      else               
         K(i,j)=K5(i,j); GG(i,i)=GG5(i,j); RR(i,j)=RR5(i,j);
      end
end; end

[ 本帖最后由 ChaChing 于 2009-7-29 22:50 编辑 ]

zhoulon 发表于 2008-11-19 17:35

咋个优化法,没有说清楚,是要减少计算机时吧。matlab是解释性语言,翻译程序比较慢,所以用matlab的话,最好不要用循环,用循环太慢了,建议将循环修改成数组表达式进行计算。

[ 本帖最后由 zhoulon 于 2008-11-19 17:37 编辑 ]

peakzon 发表于 2008-11-20 16:21

[求助]从不同矩阵分段截取,组成新阵?

for i=1:N-1,for j=1:N-1
      if i<=n1(1,1)
          K(i,j)=K1(i,j); GG(i,i)=GG1(i,j); RR(i,j)=RR(i,j);
      elseif i<=n1(2,1)
          K(i,j)=K2(i,j); GG(i,i)=GG2(i,j); RR(i,j)=RR2(i,j);
      elseif i<=n1(3,1)
          K(i,j)=K3(i,j); GG(i,i)=GG3(i,j); RR(i,j)=RR3(i,j);
      elseif i<=n1(4,1)
         K(i,j)=K4(i,j); GG(i,i)=GG4(i,j); RR(i,j)=RR4(i,j);
      else               
         K(i,j)=K5(i,j); GG(i,i)=GG5(i,j); RR(i,j)=RR5(i,j);
      end
end; end

[ 本帖最后由 ChaChing 于 2009-7-29 22:54 编辑 ]

sigma665 发表于 2008-11-20 18:47

什么意思

ch_j1985 发表于 2008-11-20 21:28

回复 楼主 peakzon 的帖子

请LZ把问题描述清楚!
页: [1]
查看完整版本: 求助:优化一下