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

matlab例程

开发平台:

Matlab

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