可以参考以下代码:
clc;clear;
% A的横纵坐标
xA = rand(10,1);
yA = rand(10,1);
dz = 0.8;
% B的取值范围
xB = linspace(0,1,100);
yB = linspace(0,1,100);
% 求解各处距离
for i = 1:length(xB)
for j = 1:length(yB)
XB(i,j) = xB(i);
YB(i,j) = yB(j);
for k = 1:10
d(k) = norm([xB(i)-xA(k),yB(j)-yA(k),-dz]);
end
distance(i,j) = sum(d);
end
end
%绘图
figure
surf(XB,YB,distance,'EdgeColor','none')
xlabel('X','FontSize',12,'FontWeight','bold','FontName','Times New Roman')
ylabel('Y','FontSize',12,'FontWeight','bold','FontName','Times New Roman')
zlabel('Distance','FontSize',12,'FontWeight','bold','FontName','Times New Roman')
set(gca,'FontSize',10,'FontName','Times');
axis equal
grid on
clc;clear;
% A的横纵坐标
xA = rand(10,1);
yA = rand(10,1);
dz = 0.8;
% B的取值范围
xB = linspace(0,1,100);
yB = linspace(0,1,100);
% 求解各处距离
for i = 1:length(xB)
for j = 1:length(yB)
XB(i,j) = xB(i);
YB(i,j) = yB(j);
for k = 1:10
d(k) = norm([xB(i)-xA(k),yB(j)-yA(k),-dz]);
end
distance(i,j) = sum(d);
end
end
%绘图
figure
surf(XB,YB,distance,'EdgeColor','none')
xlabel('X','FontSize',12,'FontWeight','bold','FontName','Times New Roman')
ylabel('Y','FontSize',12,'FontWeight','bold','FontName','Times New Roman')
zlabel('Distance','FontSize',12,'FontWeight','bold','FontName','Times New Roman')
set(gca,'FontSize',10,'FontName','Times');
axis equal
grid on