2013-10-11 56 views
3

我有这样的代码,这需要一个meshgrid,并应用转型的每一个点:如何在2D中绘制网格?

function [newx, newy] = transform(x, y) 
    newx = 10 * x + y*y; 
    newy = 5 * y; 
end 

[x, y] = meshgrid(1:5, 1:5); 
[u, v] = arrayfun(@transform, x, y); 

我要绘制二维新的网格。我能得到的最接近的是通过添加0 Z分量这样做在3D:

mesh(u, v, zeros(size(u))) 

3D mesh

我怎样才能得到MATLAB /八只显示在二维的坐标轴上的这个情节?

+1

您可以添加'视图(0,90)'在结束时见右图从上面 –

回答

4

也许我错过了这里的观点,但简单的plot(u,v,'b-x',u',v','b-x')有什么问题?

enter image description here

+0

我是新来的matlab的身影,我不知道我在做什么?这样做的工作,但你能解释在那里的论据代表什么? – Eric

+0

查看plot的文档:http://www.mathworks.co.uk/help/matlab/ref/plot.html。首先你用蓝色绘制'v'和'u',在每个数据点用一个实线和一个“x”标记(这就是'b-x'参数)。这给你“弯曲”的垂直线条。然后,使用相同的格式在同一图表上绘制'v'('v'')与'u'('u'')的转置的转置。这将水平线添加到图中。 – am304