matlab 三维绘图汇总
A=[1.486,3.059,0.1;2.121,4.041,0.1;2.570,3.959,0.1;3.439,4.396,0.1; 4.505,3.012,0.1;3.402,1.604,0.1;2.570,2.065,0.1;2.150,1.970,0.1; 1.794,3.059,0.2;2.121,3.615,0.2;2.570,3.473,0.2;3.421,4.160,0.2; 4.271,3.036,0.2;3.411,1.876,0.2;2.561,2.562,0.2;2.179,2.420,0.2; 2.757,3.024,0.3;3.439,3.970,0.3;4.084,3.036,0.3;3.402,2.077,0.3; 2.879,3.036,0.4;3.421,3.793,0.4;3.953,3.036,0.4;3.402,2.219,0.4; 3.000,3.047,0.5;3.430,3.639,0.5;3.822,3.012,0.5;3.411,2.385,0.5; 3.103,3.012,0.6;3.430,3.462,0.6;3.710,3.036,0.6;3.402,2.562,0.6; 3.224,3.047,0.7;3.411,3.260,0.7;3.542,3.024,0.7;3.393,2.763,0.7]; x=A(:,1);y=A(:,2);z=A(:,3); scatter(x,y,5,z)%散点图 figure [X,Y,Z]=griddata(x,y,z,linspace(1.486,4.271)',linspace(1.604,4.276),'v4');%插值 pcolor(X,Y,Z);shading interp%伪彩色图 figure,contourf(X,Y,Z) %等高线图 figure,surf(X,Y,Z)%三维曲面
x=[140.0 88.0 195.0 105.5 157.5 107.5 81.0 162.0 162.0];
y=[141.5 147.0 137.5 85.5 60.5 121.0 56.5 116.5 84.0 ];
plot(x,y,'o')
Z=[14 16 14 14 15 15 16 15 13 ];
h=-Z;
xi=70:3:200;yi=0:3:150;
[X,Y]=meshgrid(xi,yi);
H=griddata(x,y,h,X,Y,'v4');
mesh(X,Y,H);
view(-60,30);
数据是n*3的坐标(如附件data.txt),分别是x y z的坐标,这些坐标并没有按照大小排序,z值也与x y没有固定关系 要做出类似下图的光滑曲面图 并剖面 先谢过了 |
利用你现有的数据可以用interp2差值计算其他区域,或者用神经网络逼近其他区域值,画出曲面...
通过实验,获得了很多诸如(1 2 3)(4 5 6 )(7 8 9)(10 11 12)(13 14 15)(16 17 18)(19 20 21)这样的数据,总共有近一千多个,在MATLAB中怎么画三维曲面图,以便于对数据的分析,希望详细点,谢谢!
通过实验,获得了很多诸如(1 2 3)(4 5 6 )(7 8 9)(10 11 12)(13 14 15)(16 17 18)(19 20 21)这样的数据,总共有近一千多个,在MATLAB中怎么画三维曲面图,以便于对数据的分析,希望详细点,谢谢!
首先将数据以txt的形式放入Matlab下的work工作文件夹下(如名字为 shuju.txt)
新建M文件
输入
a=importdata('shuju.txt');
x=a(:,1);
y=a(:,2);
z=a(:,3);
xx=meshgrid(x1);
yy=meshgrid(y1);
zz=meshgrid(z1);
mesh(xx,yy,zz)
m=[0,0]'; s=[1,0;0,1];
for j=1:101
z(i,j)=cgdv(m,s,[x(i) y(j)]');
end
end
1, mesh(z)不提供两个向量时,会用z的横纵坐标作为代替
x=a(:,1);
y=a(:,2);
plot(x,y,'o')
z=a(:,3);
h=-Z;
xi=1:1:4;yi=0:1:3;
[X,Y]=meshgrid(xi,yi);
H=griddata(x,y,h,X,Y,'v4');
mesh(X,Y,H);
view(-60,30);
a=importdata('shuju.txt');
x=a(:,1);
y=a(:,2);
z=a(:,3);
xx=meshgrid(x1);
yy=meshgrid(y1);
zz=meshgrid(z1);
mesh(xx,yy,zz)
x=cost(:,1);
y=cost(:,2);
plot(x,y,'o')
z=cost(:,3);
xi=0:5:100;yi=0:0.5:5;
[X,Y]=meshgrid(xi,yi);
Z=griddata(x,y,z,X,Y,'v4');
mesh(X,Y,Z);
view(-60,30);
x=[140.0 88.0 195.0 105.5 157.5 107.5 81.0 162.0 162.0];
y=[141.5 147.0 137.5 85.5 60.5 121.0 56.5 116.5 84.0 ];
plot(x,y,'o')
Z=[14 16 14 14 15 15 16 15 13 ];
h=-Z;
xi=70:3:200;yi=0:3:150;
[X,Y]=meshgrid(xi,yi);
H=griddata(x,y,h,X,Y,'v4');
mesh(X,Y,H);
view(-60,30);
x=[129 140 103.5 88 185.5 195 105.5 157.5 107.5 77 81 162 162 117.5];
y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5];
z=[-4 -8 -6 -8 -6 -8 -8 -9 -9 -8 -8 -9 -4 -9];
cx=75:0.5:200;
cy=-70:0.5:150;
cz=griddata(x,y,z,cx,cy','cubic');
meshz(cx,cy,cz)
x=[1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4];
y=[0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3];
z=[70 60 30 0 80 75 60 30 85 80 75 70 90 85 80 75];
cx=1:1:4;
cy=0:1:4;
cz=griddata(x,y,z,cx,cy','cubic');
meshz(cx,cy,cz)
xyz=[40 2 1.4
40 5 2.5
40 7 1.4
40 9 0.9
50 2 1
50 5 3.5
50 7 0.7
50 9 1.8
60 2 0.4
60 5 0.5
60 7 4.9
60 9 4.5
70 2 0.2
70 5 1
70 7 3.5
70 8 5.6 ];
tri = delaunay(xyz(:,1), xyz(:,2));
trimesh(tri, xyz(:,1), xyz(:,2),xyz(:,3));
shading interp