怎样用matlab画等高线
用contour可以绘制二维等高线。contour3绘制三维等高线。
举个栗子
a=[1480 1500 1550 1510 1430 1300 1200 980
1500 1550 1600 1550 1600 1600 1600 1550
1500 1200 1100 1550 1600 1550 1380 1070
1500 1200 1100 1350 1450 1200 1150 1010
1390 1500 1500 1400 900 1100 1060 950
1320 1450 1420 1400 1300 700 900 850
1130 1250 1280 1230 1040 900 500 700
]
x=[1200 1600 2000 2400 2800 3200 3600 4000 1200 1600 2000 2400 2800 3200 3600 4000 1200 1600 2000 2400 2800 3200 3600 4000 1200 1600 2000 2400 2800 3200 3600 4000 1200 1600 2000 2400 2800 3200 3600 4000 1200 1600 2000 2400 2800 3200 3600 4000 1200 1600 2000 2400 2800 3200 3600 4000]
y=[3600 3600 3600 3600 3600 3600 3600 3600 3200 3200 3200 3200 3200 3200 3200 3200 2800 2800 2800 2800 2800 2800 2800 2800 2400 2400 2400 2400 2400 2400 2400 2400 2000 2000 2000 2000 2000 2000 2000 2000 1600 1600 1600 1600 1600 1600 1600 1600 1200 1200 1200 1200 1200 1200 1200 1200]
z=[a(1,:) a(2,:) a(3,:) a(4,:) a(5,:) a(6,:) a(7,:)]
figure(1),plot3(x,y,z,'*'),title('三维散点图')
grid on
[x1,y1]=meshgrid(0:10:5600,0:10:4800)
z1=griddata(x,y,z,x1,y1,'linear')
figure(2),mesh(x1,y1,z1),title('linear插值法'),colorbar
z1=griddata(x,y,z,x1,y1,'cubic')
figure(3),mesh(x1,y1,z1),title('cubic插值法'),colorbar
figure(4),h=contour(z1,10)
clabel(h),title('二维等高线')
figure(5),contour3(z1,10)
clabel(h),title('三维等高线')
怎样用matlab画等高线?
命令1 contour 功能 曲面的等高线图 用法 contour(z) 把矩阵z中的值作为一个二维函数的值,等高曲线是一个平面的曲线,平面的高度v是Matlab自动取的; contour(x,y,z) (x,y)是平面z=0上点的坐标矩阵,z为相应点的高度值矩阵。效果同上; contour(z,n) 画出n条等高线; contour(x,y,z,n) 画出n条等高线; contour(z,v) 在指定的高度v上画出等高线; contour(x,y,z,v) 同上; [c,h] = contour(…) 返回如同contourc命令描述的等高矩阵c和线句柄或块句柄列向量h,这些可作为clabel命令的输入参量,每条线对应一个句柄,句柄中的userdata属性包含每条等高线的高度值; contour(…,’linespec’) 因为等高线是以当前的色图中的颜色画的,且是作为块对象处理的,即等高线是一般的线条,我们可象画普通线条一样,可以指定等高线的颜色或者线形。 clabel(C,v) 在给定的位置v上显示标签 clabel(C,'manual') 允许用户通过鼠标来给等高线贴标签 >>[x,y] = meshgrid(-2:.2:2); >>z = x.*y.*exp(-x.^2-y.^2); >>[C,h] = contour(x,y,z); >>clabel(C,h); 命令3 contourc 功能 低级等高线图形计算命令。该命令计算等高线矩阵c,该矩阵可用于命令contour,contour3和contourf等。矩阵z中的数值确定平面上的等高线高度值,等高线的计算结果用由矩阵z维数决定的间隔的宽度。 用法 C = contourc(Z) 从矩阵z中计算等高矩阵,其中z的维数至少为2*2阶,等高线为矩阵z中数值相等的单元。等高线的数目和相应的高度值是自动选择的。 C = contourc(Z,n) 在矩阵z中计算出n个高度的等高线。 C = contourc(Z,v) 在矩阵z中计算出给定高度向量v上计算等高线,当然向量v的维数决定了等高线的数目。若只要计算一条高度为a的等高线,输入:contourc(Z,[a,a]); C = contourc(x,y,Z) 在矩阵z中,参量x,y确定的坐标轴范围内计算等高线; C = contourc(x,y,Z,n) 从矩阵Z中,参量x与y确定的坐标范围内画出n条等高线; C = contourc(x,y,Z,v) 从矩阵Z中,参量x与y确定的坐标范围内,画在v指定的高度上指定的等高线。 命令4 contour3 功能 三维空间等高线图。该命令生成一个定义在矩形格栅上曲面的三维等高线图。 用法 contour3(Z) 画出三维空间角度观看矩阵z的等高线图,其中z的元素被认为是距离xy平面的高度,矩阵z至少为2*2阶的。等高线的条数与高度是自动选择的。若[m,n]=size(z),则x轴的范围为[1:n],y轴的范围为[1:m]。 contour3(Z,n) 画出由矩阵z确定的n条等高线的三维图。 contour3(Z,v) 在参量v指定的高度上画出三维等高线,当然等高线条数与向量v 的维数相同;若想只画一条高度为h的等高线,输入:contour3(Z,[h,h]) contour3(X,Y,Z)、contour3(X,Y,Z,n)、contour3(X,Y,Z,v) 用X与Y定义x-轴与y-轴的范围。若X为矩阵,则X(1,:)定义x-轴的范围;若Y为矩阵,则Y(:,1)定义y-轴的范围;若X与Y同时为矩阵,则它们必须同型。不论为哪种使用形式,所起的作用与命令surf相同。若X或Y有不规则的间距,contour3还是使用规则的间距计算等高线,然后将数据转变给X或Y。 contour3(…,LineSpec) 用参量LineSpec指定的线型与颜色画等高线。 [C,h] = contour3(…) 画出图形,同时返回与命令contourc中相同的等高线矩阵C,包含所有图形对象的句柄向量h;除非没有指定LineSpec参数,contour3将生成patch图形对象,且当前的colormap属性与caxis属性将控制颜色的显示。不论使用何种形式,该命令都生成line图形对象。 >>[X,Y] = meshgrid([-2:.25:2]); >>Z = X.*exp(-X.^2-Y.^2); >>contour3(X,Y,Z,30) 命令5 contourf 功能 填充二维等高线图。即先画出不同等高线,然后相邻的等高线之间用同一颜色进行填充。填充用的颜色决定于当前的色图颜色。 用法 contourf(Z) 矩阵z的等高线图,其中z理解成距平面的高度。Z至少为2*2阶的。等高线的条数与高度是自动选择的。 contourf(Z,n) 画出矩阵z的n条高度不同的等高线。 contourf(Z,v) 画出矩阵z的、由v指定的高度的等高线图。 contourf(X,Y,Z)、contourf(X,Y,Z,n)、contourf(X,Y,Z,v) 画出矩阵z的等高线图,其中X与Y用于指定x-轴与y-轴的范围。若X与Y为矩阵,则必须与Z同型。若X或Y有不规则的间距,contour3还是使用规则的间距计算等高线,然后将数据转变给X或Y。 [C,h,CF] = contourf(…)画出图形,同时返回与命令contourc中相同的等高线矩阵C,C也可被命令clabel使用;返回包含patch图形对象的句柄向量h;返回一用于填充用的矩阵CF。 >>contourf(peaks(30),20); >>colormap gray 命令6 pie3 功能 三维饼形图 用法 pie3(X) 用x中的数据画一个三维饼形图。X中的每一个元素代表三维饼形图中的一部分。 pie3(X,explode) x中的某一部分可以从三维饼形图中分离出来。explode是一个与x同型的向量或矩阵,explode中非零的元素对应x中从饼形图中分离出来的分量。 h = pie3(…) 返回一个分量为patch,surface和text图形句柄对象的向量。即每一块对应一个句柄。 注意:命令pie3将x的每一个元素在所有元素的总和中所占的比例表达出来。若x中的分量和小于1(则所有元素小于1),则认为x中的值指明三维饼形图的每一部分的大小。 >>x = [1 3 0.5 2.5 2] >>ex = [0 1 0 0 0] >>pie3(x,ex)
如何用matlab做等高线图
A=xlsread('denggaoxian.xls');
x=A(:,1);
y=A(:,2);
z=A(:,3);
% scatter(x,y,5,z)%散点图
% figure
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值
% pcolor(X,Y,Z);shading interp%伪彩色图
figure,contourf(X,Y,Z) %等高线图
colorbar
figure,surfc(X,Y,Z)%三维曲面
colorbar
shading interp
你看看合适不。不合适再修改
matlab 中 等高线的绘制
举个例子,画z=sin(x)+exp(y)的等高线
%生成数据,如果你已经有数据的话就不用生成了
[x,y]=meshgrid(linspace(-2,2));
z=sin(x)+exp(y);
%最简单的等高线
contour(x,y,z)
%如果要指定等高线条数
contour(x,y,z,10)%画10条等高线
%如果要显示等高线的值
[c,h]=contour(x,y,z);
set(h,'ShowText','on')%显示等高线的值
%如果要指定等高线的值
[c,h]=contour(x,y,z);
set(h,'ShowText','on','LevelList',[-.7 -.5 -.3 0 .5 1 2 4 7])%设定等高线的值
matlab如何画等高线?急急!
contour命令显示矩阵Z的等高线,clabel命令可以标注等高线。
contour(Z)画出矩阵Z的等高线图,这里Z是相对于x-y平面的高度,至少是一个2×2矩阵。等高线的层数和层值自动选择;
contour(Z,n):画出矩阵Z的n层等高线图;
contour(Z,v):在向量v指定的数值处画出Z的等高线图,层数等于length(v);
contour(X,Y,Z),contour(X,Y,Z,n),contour(X,Y,Z,v):和上面类似,X和Y确定x轴和y轴的范围,如果是矩阵,则必须和Z有相同的阶数;
contour(…,LineSpec):等高线使用的线型和颜色指定。
举例:
[x,y]=meshgrid(-2:0.2:2);
z=exp(-x.^2-y.^2);
C=contour(x,y,z,6);
clabel(C);
用matlab怎么画等高线图,
使用griddata插值
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 in
怎么用CAD来画等高线
用CAD来画等高线的具体步骤如下: 我们需要准备的材料分别是:电脑、CAD软件。1、打开CAD之后,在命令栏输入【SPL】命令,然后按空格键确定命令。2、确定SPL命令后,输入第一个坐标点按回车,输入第二个坐标点按回车,有多少个坐标点就输入多少个坐标点。3、输好坐标点之后,点击两下鼠标左键就可以得到地形的登高线了。4、用CAD画等高线,完成。
用matlab 画等高线
d=[129.0 7.5 1.34
140.0 141.5 2.67
103.5 23.0 2.00
88.0 147.0 2.67
185.5 22.5 2.00
195.0 137.5 2.67
105.5 88.5 2.67
157.5 -6.5 3.0
1.07 -81.0 3.0
77.0 3.0 2.67
81.0 56.5 2.67
162.0 -66.5 3.0
162.0 84.0 1.34
117.5 -33.5 3.0];
x=d(:,1);
y=d(:,2);
z=d(:,3);
nx=linspace(min(x),max(x),10);
ny=linspace(min(y),max(y),10);
[xx,yy]=meshgrid(nx,ny);
zz=griddata(x,y,z,xx,yy,'v4');
contour(xx,yy,zz)
数据太少,误差太大。上面那个nx,ny建议再取小一些。