matlab中contour函数 x y x怎么关联在一起的
2个回答
展开全部
matlab—contour:
contour是等高线绘制函数
contour(Z)根据矩阵Z画出等高线,Z是以x,y为平面的高度。Z必须是一个至少二维的矩阵。
等高线的数量和水平线的值将根据Z值的最小值和最大值自动选择。
x,y轴的范围是[1:n]和[1:m],[m,n]=size(Z)
contour(Z,n)用n条水平线来绘制Z的等高线。
contour(Z,v)是以向量v中的数据来绘制矩阵Z的等高线。
等高水平线的个数等于向量v的长度。如果想画一条单个等高线,使用contour(Z,[i i]).
contour(X,Y,Z),contour(X,Y,Z,n),contour(X,Y,Z,v)绘制Z的等高线。X,Y限制在x,y轴上的范围。如果X,Y是矩阵,它们必须跟Z是同型矩阵,此时它们描述了一个表面,因此应当用surf函数定义一下。
x=1:1:6;
y=1:1:14;
[xx,yy]=meshgrid(y,x);
z=[2.44 2.78 3.46 4.55 3.43 2.72 2.46 2.46 2.72 3.43 4.55 3.46 2.78 2.44;
3.00 4.42 5.96 6.06 6.00 4.65 3.82 3.82 4.65 6.06 6.00 5.96 4.42 3.00;
2.31 2.54 3.87 6.25 3.89 2.51 2.24 2.24 2.51 3.89 6.24 3.87 2.54 2.30;
2.32 2.55 3.88 6.25 3.89 2.51 2.24 2.24 2.51 3.89 6.24 3.87 2.54 2.29;
3.07 4.46 5.97 6.05 6.00 4.65 3.82 3.82 4.66 6.06 6.00 5.94 4.37 2.93;
2.39 2.75 3.43 4.52 3.42 2.71 2.45 2.46 2.72 3.45 4.59 3.52 2.84 2.43;];
contour(xx,yy,z,15);
contour是等高线绘制函数
contour(Z)根据矩阵Z画出等高线,Z是以x,y为平面的高度。Z必须是一个至少二维的矩阵。
等高线的数量和水平线的值将根据Z值的最小值和最大值自动选择。
x,y轴的范围是[1:n]和[1:m],[m,n]=size(Z)
contour(Z,n)用n条水平线来绘制Z的等高线。
contour(Z,v)是以向量v中的数据来绘制矩阵Z的等高线。
等高水平线的个数等于向量v的长度。如果想画一条单个等高线,使用contour(Z,[i i]).
contour(X,Y,Z),contour(X,Y,Z,n),contour(X,Y,Z,v)绘制Z的等高线。X,Y限制在x,y轴上的范围。如果X,Y是矩阵,它们必须跟Z是同型矩阵,此时它们描述了一个表面,因此应当用surf函数定义一下。
x=1:1:6;
y=1:1:14;
[xx,yy]=meshgrid(y,x);
z=[2.44 2.78 3.46 4.55 3.43 2.72 2.46 2.46 2.72 3.43 4.55 3.46 2.78 2.44;
3.00 4.42 5.96 6.06 6.00 4.65 3.82 3.82 4.65 6.06 6.00 5.96 4.42 3.00;
2.31 2.54 3.87 6.25 3.89 2.51 2.24 2.24 2.51 3.89 6.24 3.87 2.54 2.30;
2.32 2.55 3.88 6.25 3.89 2.51 2.24 2.24 2.51 3.89 6.24 3.87 2.54 2.29;
3.07 4.46 5.97 6.05 6.00 4.65 3.82 3.82 4.66 6.06 6.00 5.94 4.37 2.93;
2.39 2.75 3.43 4.52 3.42 2.71 2.45 2.46 2.72 3.45 4.59 3.52 2.84 2.43;];
contour(xx,yy,z,15);
展开全部
利用meshgrid函数建立网格,这个函数是几乎画所有三维图所需用到的,设函数z(x,y),本来x和y都是一维的,命令
[x,y]=meshgrid(x,y)
将x和y生成一个二维网格,此时你看你的workplace里面的x和y是不是变成2维了,注意此时生成的网格的维数必须与z的维数相同才能画出图,然后contour(x,y,z)就行了。
因为有时候x和y是a*b维,而z是b*a维的,此时重新定义x和y的一维向量,再利用meshgrid生成网格就行,只需将x和y的顺序换一下,[y,x]=meshgrid(y,x)
[x,y]=meshgrid(x,y)
将x和y生成一个二维网格,此时你看你的workplace里面的x和y是不是变成2维了,注意此时生成的网格的维数必须与z的维数相同才能画出图,然后contour(x,y,z)就行了。
因为有时候x和y是a*b维,而z是b*a维的,此时重新定义x和y的一维向量,再利用meshgrid生成网格就行,只需将x和y的顺序换一下,[y,x]=meshgrid(y,x)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询