MATLAB三维曲面图

MATLAB三维曲面图,matlab,plot,matlab-guide,Matlab,Plot,Matlab Guide,我有一个300x3大小的数组。三列数据包含A、B和C变量,因此A和B的范围在0和1之间,C的范围变化,即我的数组如下所示: A=B=C 0.1==0.1==x 0.1==0.2==x 0.1==0.3==x 0.1==1==x 0.2==0.1==x 0.2==0.2==x 等等。。。 我想分别在x、y和z轴上用A、B和C绘制3d图。请帮忙 但是,我不知道为什么有300个数据,所以我在[0:0.1:1]X[0:0.1:1]中随机创建了100个数据,其中只有100个 据我所知,用这些数据绘制

我有一个300x3大小的数组。三列数据包含A、B和C变量,因此A和B的范围在0和1之间,C的范围变化,即我的数组如下所示:

A=B=C

0.1==0.1==x

0.1==0.2==x

0.1==0.3==x

0.1==1==x

0.2==0.1==x

0.2==0.2==x

等等。。。
我想分别在x、y和z轴上用A、B和C绘制3d图。请帮忙

但是,我不知道为什么有300个数据,所以我在
[0:0.1:1]X[0:0.1:1]
中随机创建了100个数据,其中只有100个

据我所知,用这些数据绘制三维图形有两种方法。正如Cris Luengo所说,如果需要散点/绘图,请使用
scatter3
plot3
,它们与普通的
plot
类似。但如果需要曲面,则必须更改数据结构并使用
mesh
surf

%%Init
clc; clear;

%%Random Data
y=0.1:0.1:1;
C=[0 0];
for i=1:10
  X=[ones(1,10)*i*0.1; y]';
  C=[C;X];
end;
C=[C(2:101,:) rand(100,1)];

%%plot scatter/lines
figure()
plot3(C(:,1),C(:,2),C(:,3),'r-')
hold on
plot3(C(:,1),C(:,2),C(:,3),'b.')

%%plot a Surface
figure()
[X,Y] = meshgrid(0.1:0.1:1,0.1:0.1:1);
nC=C(1:10,3)
for i=2:10
  nC=[nC C((i-1)*10+1:i*10,3)];
end;
mesh(X,Y,nC)

希望此代码有帮助。

查找
scatter3
。如果你想把它做成一个曲面,你必须用三角测量并使用
surf
。非常感谢你的帮助。