用matlab怎么做2维的温度分布图

来源:百度知道 编辑:UC知道 时间:2024/07/02 01:18:40
要是在xy平面做网格每个网格接点的温度都知道的话,怎么做2维温度分布图,等温线也可以,
请高手告诉我几个做这样图的matlab命令!
我本想是现作出t=f(x,y)的3维图,然后把它投影到一个平面的,虽然有思路但是因实力的欠缺做不出来. help me !!!!!!!!!!!

使用contour函数可以做到。
例如:
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z = X.*exp(-X.^2-Y.^2);
[C,h] = contour(X,Y,Z);
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
colormap cool

函数功能:在MATLAB中,该函数用于绘制矩阵的等高线。
语法格式:
contour(Z)
绘制矩阵Z的等高线。在这里Z表示距X-Y平面的高度。Z必须至少是一个2行2列的矩阵,且矩阵中至少包含两个不等的数值。MATLAB会根据Z中最小值和最大值自动确定等高线的条数和等高线的值。绘图区间的x、y轴范围分别为:[1:n]、[1:m]。其中[m, n] = size(Z),m表示Z的行数,n表示Z的列数。
contour(Z,n)
这里n指定了等高线的条数。
contour(Z,v)
其中v(means vector)中数据指定了要在哪些数据处绘制等高线。因此,这种调用格式将绘制出length(v)条等高线。如果只想在高度i处画一条等高线, 使用countour(Z, [i i])。
contour(X,Y,Z)
contour(X,Y,Z,n)
contour(X,Y,Z,v)
这三种调用格式, 绘制的等高线被限定在由X、Y指定的区域内。X、Y和Z必须是同行同列的,且其中元素必须是递增的。
contour(...,LineSpec)
使用LineSpec指定的线型和颜色来绘制等高线。
contour(axes_handle,...)
该种格式可以使我们不在当前坐标系中绘制等高线,axes_handle指定了一个坐标系句柄,等高线将被绘制在这个坐标系中。
[C,h] = contour(...)
相关函数:clabel, contourf, contour3, contourc, quiver

例如: