百度
360搜索
搜狗搜索

matlab等高线,Matlab画三维地形图(等高线)详细介绍

本文目录一览: matlab二维等高线图超出边界

1、调整坐标轴范围:通过调整x轴和y轴的范围来重新设置等高线图的显示范围,使图形不再超出边界,可以使用xlim和ylim函数来设定坐标轴的范围。2、新描点或插值:将原始数据进行描点或插值,生成新的符合要求的数据集,再用该数据集生成等高线图,可以使用meshgrid函数生成新的网格点,然后使用interp2或griddata函数实现插值操作。3、修改颜色和线型:通过修改等高线图的颜色和线型,来掩盖图形超出边界的问题,可以使用colormap函数改变颜色图谱,也可以使用contourc函数绘制虚线等不同风格的等高线图。

matlab中等高线contour的问题?

x=rand(1,10);
y=rand(1,10);
z=rand(1,10); %我这里用随机数了,你的用读取到的数据代替.
%要把离散数据网格化,因为contour,surface和mesh接受的都是网格化数据.
xi=linspace(min(x),max(x),50); %从最小到最大之间取若干点,我用了50个,你可以随意改.
yi=linspace(min(y),max(y),50);
[xi,yi]=meshgrid(xi,yi); %网格化x,y
zi=griddata(x,y,z,xi,yi,'cubic'); % 网格化z,实际上就是二维插值,可以用'linear'有棱角的,'cubic'就比较平滑.
subplot(1,2,1)
contour(xi,yi,zi) %如果不需要比较立体图,那就不需要subplot了,直接contour
colorbar
subplot(1,2,2)
mesh(xi,yi,zi) % 立体效果图,用surf也可以.,11,matlab中等高线contour的问题
数据格式为:
编号 x坐标 y坐标 z高程
1,270.55,-31.72,143.08
2,262.40,-31.10,134.48
3,257.20,-30.28,127.28
4,254.81,-31.21,123.36
·····
现在我已经用csvread函数把x,y,z分别提取出来了 存在x,y,z 这三个vector里
而且实现了用satter(x,y)把点展到图上(如图)现在的问题是:
怎么生成等高线或者曲面啊?
contour(x,y,z)好像不行啊
报错提示是说我这个z矩阵应该是一个2X2以上的矩阵
我这里z是一个以为数组
是要在用contour之前把数据重新组织一下么,怎么组织?
但是我对matlab的数据结构不是很熟
希望有达人指点

matlab能做等高线图吗.

matlab能做等高线图吗?完全可以的。利用contour或contour3绘制平面等高线图或三维等高线图。现以f(x,y)=xexp(-x^2-y^2)函数为例,说明其实现方法:
第一步,创建x和y的向量数组,如
x =-2:0.25:2;y =-2:0.25:2;
第二步,使用meshgrid函数创建X—Y平面上的网格数据
[X,Y] = meshgrid(x,y);
第三步,计算X—Y平面上各网格点的Z轴高度,即
Z = X.*exp(-X.^2-Y.^2);
第四步,使用contour函数绘制平面等高线图
figure(1)
contour(X,Y,Z,30)
xlabel('x'),ylabel('y'),zlabel('z')
第五步,使用contour3函数绘制三维等高线图
figure(2)
contour3(X,Y,Z,30)
xlabel('x'),ylabel('y'),zlabel('z')
运行结果

matlab如何在等高线图中显示等高线数值

clc,clear,close
all
[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画三维地形图(等高线)

1、根据x,y,z数据,拟合出其逼近函数,可以考虑多元线性函数
2、对X,Y进行网格细分,meshgrid()
3、计算X,Y平面上的高度,z(x,y)
4、绘制三维地形图surfc(x,y,z)
5、绘制等高线图contour(x,y,z)

如何采用MATLAB绘制等高线

采用MATLAB绘制等高线的基本方法:
基本调用格式为 contour(x,y,z,n),contour3(x,yz,n),contourf(x,y,z,n)(带填充),其中 n 表从最低位置到最高位置的等高线的条数。
缺省 x,y 状态时表示为二维等高线图。

怎样用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如何画等高线?急急!

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绘制等高线

x=0.01:0.05:0.98;
y=0.99-X;
[X,Y]=meshgrid(x,y);
Z=42*log(X/30797+Y/(3*15*100000/482)+(1-X-Y)/(100000*15));
figure;mesh(X,Y,Z);
figure;contour(X,Y,Z);

这个方程怎么用Matlab画出等高线图?

首先生成网格数据:[x,y]=meshgrid(v1,v2)
然后画图咯:counour(X,Y,Z,30);30是等高线条数。
要想放到一张图上显示:counour(X,Y,Z,30);hold on;counour(X,Y,F,30);就OK了
想分开的话就:subplot(1,2,1):counour(X,Y,Z,30);subplot(1,2,2);counour(X,Y,Z,30)
有什么问题再联系吧~
为何题主给出的用Matlab画出等高线图的代码出不来图?原因有三个:
首先,题主的主要思路是对的,用双重循环求和,但不能运行,其主要 的原因没有对x、y进行声明变量
其二,使用contourf(x,y,w)函数错误,因为该函数使用前 ,要求x,y,w数据必须为二维矩阵,所以该函数应增加一个网格数据化,即 [x,y]=meshgrid(0:10);
其三,重新计算w值,即 w=eval(w);
最后,修正代码并给出kb、xq、yp、q、D已知值后,运行代码可以得到如下等高线图形。

阅读更多 >>>  公式vlookup匹配用法,函数vlookup的使用方法步骤

网站数据信息

"matlab等高线,Matlab画三维地形图(等高线)"浏览人数已经达到24次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:matlab等高线,Matlab画三维地形图(等高线)的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!