matlab 已知30个空间散点 如何画出三维图

(x,y,z)的坐标如下,用matlab怎么画出三维的地形图样式?求助!
3.5 11.5 0.2
4.5 11.5 0.3
5.5 11.5 0.5
5.5 12.5 0.9
6.5 11.5 0.7
6.5 12.5 0.7
8.5 10.5 0.4
9.5 10.5 0.2
9.5 9.5 0.2
10.5 9.5 1
11.5 9.5 1.3
9.5 8.5 0.4
11.5 8.5 1.3
11.5 8.5 0.3
9.5 7.5 1.7
10.5 7.5 1.2
10.5 6.5 0.3
11.5 5.5 0.4
12.5 5.5 0.5
13.5 4.5 0.7
14.5 4.5 0.9
15.5 4.5 0.2
13.5 3.5 1.3
14.5 3.5 1.5
15.5 3.5 0.3
14.5 2.5 0.5
15.5 0.5 1
12 9.5 1.1
12.5 9 1.2
4 11 1.4
第一个回答出来的图只是折线连接啊……

第二个回答出现下面这一句话
??? Undefined function or method 'a' for input arguments of type 'double'.

data=load('data.txt');
x=data(:,1);
y=data(:,2);
z=data(:,3);
for m=1:length(x)
for n=1:length(y)
for i=1:length(z)
l(i)=1./((x(n)-x(i)).^2+(y(m)-y(i)).^2);
end
r=l*z;
z(m,n)=r./sum(l);
end
end
[X,Y]=meshgrid(x,y);
mesh(X,Y,z)

说明一下,求网格点对应深度的函数是我自己给的,可以根据具体情况来定

改过了,应该没有问题了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-09
d=[ 3.5 11.5 0.2
4.5 11.5 0.3
5.5 11.5 0.5
5.5 12.5 0.9
6.5 11.5 0.7
6.5 12.5 0.7
8.5 10.5 0.4
9.5 10.5 0.2
9.5 9.5 0.2
10.5 9.5 1
11.5 9.5 1.3
9.5 8.5 0.4
11.5 8.5 1.3
11.5 8.5 0.3
9.5 7.5 1.7
10.5 7.5 1.2
10.5 6.5 0.3
11.5 5.5 0.4
12.5 5.5 0.5
13.5 4.5 0.7
14.5 4.5 0.9
15.5 4.5 0.2
13.5 3.5 1.3
14.5 3.5 1.5
15.5 3.5 0.3
14.5 2.5 0.5
15.5 0.5 1
12 9.5 1.1
12.5 9 1.2
4 11 1.4 ];

plot3(d(:,1),d(:,2),d(:,3));

你给出的是一系列点,只能连点成线
要画曲面就要给出x在xa~xb,y在ya~yb上(即一个平面区域上)各点z的值,即z坐标应为一个矩阵,而非一个一维数组
第2个回答  2013-01-28
有一个函数叫scatter,这个是画等高线图;还有一个函数叫griddata可以根据离散点画三维图。自己help吧,我就不多说了。
第3个回答  2020-12-25

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!