我是matlab编程的新手,我的问题很小。
我想为2个坐标绘制欧几里德距离函数的3d图,如下图所示:
你能帮我解决一下源代码吗?我怎么画这个情节? 我的第一个想法是错误的:
[A] = meshgrid(-100:.5:100, -100:.5:100);
D1 = bwdist(A);
figure
surf(double(A), double(D1))
答案 0 :(得分:1)
就像这样......
[x, y] = meshgrid(-100:.5:100, -100:.5:100);
你必须计算欧氏距离。我假设你想要它们的起源。
z = (x.^2 + y.^2).^0.5; % square root of sum of squares (euclidean distance with origin)
surf(x, y, z);
注意:meshgrid(-100:.5:100,-100:.5:100)可能会使绘图的分辨率过高。如果您在查看绘图时遇到问题,请降低分辨率。
使用[x, y] = meshgrid(-100:5:100, -100:5:100);