2

我想在 MATLAB 中的地球上放置一个 3d 曲面图。我无法让它工作。

这是代码:

% Sampele Data
longitude = [1 2 3]
latitude = [3 2 1]
elevation = [12 21 13; 15 14 15; 12 16 15]

% Create Globe
figure
axesm('globe')
gridm('GLineStyle','-','Gcolor',[.8 .7 .6],'Galtitude', .02)
load coast
plot3m(lat,long,'k')
view(3)
axis off; zoom(2)

% Overlay Surface Plot
mesh(longitude,latitude,elevation)
surfm(longitude,latitude,elevation)
4

1 回答 1

1

虽然这并不明显,但您的代码实际上似乎工作正常。

要查看它,首先删除该线mesh(longitude,latitude,elevation),因为它不在经纬度坐标中绘制。

现在的问题是,surfm(longitude,latitude,elevation)唯一绘制了一个很难发现的小区域。找到它,注释掉该行plot3m(lat,long,'k'),运行脚本并注意地球右半部的微小表面。

为了证明您的脚本正在运行,您还可以将最后一行替换为

surfm(lat(1:200),long(1:200), rand(200,200))

随机着色南极的一部分。

顺便说一句,你的最后一行不应该读surfm(latitude,longitude,elevation)吗?

于 2012-08-29T16:42:43.960 回答