📄 func7p4.m
字号:
%func7p4.m
%使用穷举法解决四村问题
a=[0,0];b=[0,3],c=[8,1];d=[10,5]
x1=[0,0];x2=[0,0];h=0.2;xo1=[0,0];xo2=[0,0]
s=norm(a-x1)+norm(b-x1)+norm(x2-x1)+norm(c-x2)+norm(d-x2)
start=now
for i=1:50
x1(2)=0
for j=1:25
x2(1)=0
for k=1:50
x2(2)=0;
for l=1:25
x2=x2+[0,h]
if(norm(a-x1)+norm(b-x1)+norm(x2-x1)+norm(c-x2)+norm(d-x2)<s)
s=norm(a-x1)+norm(b-x1)+norm(x2-x1)+norm(c-x2)+norm(d-x2)
xo1=x1;xo2=x2;
end
end
x2=x2+[h,0]
end
x1=x1+[0,h]
end
x1=x1+[h,0]
end
finish=now
disp(s);disp(xo1);disp(xo2)
disp((finish-start)*24*60*60)
%使用穷举法,时间消耗是惊人的。本题循环25*25*50*50次,且其中包含开方运算,在C4-1.7G/256M的PC上需要129.6秒;通过最优化,计算
%几何等方法简化算法,是今后的努力方向。
%Answer:距离 S=15.0675 最佳点 xo1=[0.8000,1.4000] xo2=[7.8000,1.4000]( 精确到0.2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -