×

matlab等高线

matlab等高线(这个方程怎么用Matlab画出等高线图)

admin admin 发表于2022-09-02 04:55:27 浏览150 评论0

抢沙发发表评论

本文目录

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


为何题主给出的用Matlab画出等高线图的代码出不来图?原因有三个:

首先,题主的主要思路是对的,用双重循环求和,但不能运行,其主要 的原因没有对x、y进行声明变量

其二,使用contourf(x,y,w)函数错误,因为该函数使用前 ,要求x,y,w数据必须为二维矩阵,所以该函数应增加一个网格数据化,即 [x,y]=meshgrid(0:10);

其三,重新计算w值,即 w=eval(w);

最后,修正代码并给出kb、xq、yp、q、D已知值后,运行代码可以得到如下等高线图形。


关于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等高线

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如何得到等高线方程


matlab可以得到等高线,但是不可能得到等高线方程。因为对于一般性的问题,等高线是存在的,但是不可能都能显式的用方程表示出来,只能通过数值方法得到等高线的曲线图像。

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

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

如何采用MATLAB绘制等高线


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

求助,Matlab如何画出一个函数的某一个值的等高线


你的程序没问题,问题在于这个函数的图像比较怪,你可以试试:
ezmesh(’exp(x1+3*x2-0.1) + exp(x1-3*x2-0.1) + exp(-x1 - 0.1)’)
画等高线也可以使用下面的做法:
ezcontour(’exp(x1+3*x2-0.1) + exp(x1-3*x2-0.1) + exp(-x1 - 0.1)’)
建议:
1、确定函数表达式有没问题;
2、如果函数没问题,建议选择一个合理的绘图坐标范围。
-matlab等高线

怎样用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等高线