首页 文章

如何在MATLAB中绘制矩形

提问于
浏览
1

对我来说,有必要在MATLAB中按轮廓绘制矩形 . 但是当我绘制这个时,这个数字就像方形而没有矩形 .

实际上,X轴和Y轴的长度都是正确的,但是图形不是矩形 .

我怎么能找到一个矩形图?

之前我需要通过countour绘制一个n eliptical并且它就像是圆圈,通过设置 axes([xmin xmax ymin ymax]) 这个问题已经解决但是知道这个命令不起作用 .

这是我的代码 u0 ,_ 1184413y 是3个长度为 nx*ny 的向量 . 和 nxny 是x轴和y轴上的点数 .

figure 
for i=1:ny
    z(i,:)=u0((i-1)*nx+1:i*nx);
    x1(i,:)=x((i-1)*nx+1:i*nx);
    y1(i,:)=y((i-1)*nx+1:i*nx);
end;

cMap = [0.45 0.6 0.65;1 1 1]; % [green;yellow] on rgb-color
colormap(cMap);
axis equal
contourf(x1,y1,z,'LineColor','none')
colorbar

设s = 0:0.1:0.2'和'x = repmat(s,1,ny)'和'd = 0:0.1:1','y = repmat(d,1,nx)''u0 = xy “

1 回答

  • 1

    我认为问题是你正在使用的矢量的大小 . 看看这个例子:

    x = linspace(0,2,20);
    y = linspace(0,1,10);
    z = meshgrid(x,y);
    contourf(x,y,z,20);
    axis equal
    

    它给出了以下结果:
    enter image description here

    现在,如果我们检查尺寸:

    >> size(x)
    
    ans =
    
         1    20
    
    >> size(y)
    
    ans =
    
         1    10
    
    >> size(z)
    
    ans =
    
        10    20
    

    如果x向量的大小等于y向量的大小,它显然给你一个正方形!在您的情况下,首先在使用 contourf 之前检查x1,y1,z的大小,确保在此之后使用轴相等 .

相关问题