func7p4.asv
上传用户:zhdd911129
上传日期:2007-05-11
资源大小:722k
文件大小:1k
源码类别:

matlab例程

开发平台:

Matlab

  1. %使用穷举法解决四村问题
  2. a=[0,0];b=[0,3],c=[8,1];d=[10,5]
  3. x1=[0,0];x2=[0,0];h=0.2;xo1=[0,0];xo2=[0,0]
  4. s=norm(a-x1)+norm(b-x1)+norm(x2-x1)+norm(c-x2)+norm(d-x2)
  5. start=now
  6. for i=1:50
  7.     x1(2)=0
  8.     for j=1:25
  9.         x2(1)=0
  10.         for k=1:50
  11.             x2(2)=0;
  12.             for l=1:25
  13.                 x2=x2+[0,h]
  14.                 if(norm(a-x1)+norm(b-x1)+norm(x2-x1)+norm(c-x2)+norm(d-x2)<s)
  15.                     s=norm(a-x1)+norm(b-x1)+norm(x2-x1)+norm(c-x2)+norm(d-x2)
  16.                     xo1=x1;xo2=x2;
  17.                 end
  18.             end
  19.             x2=x2+[h,0]
  20.         end
  21.         x1=x1+[0,h]
  22.     end
  23.     x1=x1+[h,0]
  24. end
  25. finish=now
  26. disp(s);disp(xo1);disp(xo2)
  27. disp(finish-start)
  28. %使用穷举法,时间消耗是惊人的。本题循环25*25*50*50次,且其中包含开方运算,在C4-1.7G/256M的PC上需要20多秒;通过最优化,计算
  29. %几何等方法简化算法,是今后的努力方向。
  30. %Answer:距离 S=15.0675   最佳点 xo1=[0.8000,1.4000]  xo2=[7.8000,1.4000]( 精确到0.2)
  31.     
  32.