how to plot 3D graph using mesh() for a rectangular matrix of data?

4 次查看(过去 30 天)
Dear sir/madam,
I am using mesh() to plot 3D graphs. To plot a 3D graph the length of x-axis and y-axis must be equal, using mesh(). But I need to plot a 3D graph where the length of x-axis and y-axis are not equal. When I tried to plot the graph for unequal lengths, it showed "dimensions do not agree". How can I plot a 3D graph for unequal lengths, using mesh()? Looking forward for your reply.
Thanking you, BSD

采纳的回答

Christoph
Christoph 2011-7-20
Maybe I missunderstood your problem but as far as I know the axis do not have to be of the same length.
x=1:1000;y=1:3500;%axis
for iter1=1:length(x)
for iter2=1:length(y)
z(iter1,iter2)=y(iter2)/x(iter1);%data
end
end
mesh(y,x,z)%plot it
y and x are not of the same length. The lengths of y,x need to fit the size of z though.
  3 个评论
bsd
bsd 2011-7-20
Thanks for the reply. But what do you mean by "the lengths of y, x need to fit the size of z though", in your reply.
Thanking you,
BSD
Christoph
Christoph 2011-7-20
@andrei
thanks for your comment, I'm not that well versed with bsxfun and the like.
@bsd
I mean just what andrei wrote in his answer
"Z - array (of type)double with size [length(x),length(y)]"

请先登录,再进行评论。

更多回答(1 个)

Andrei Bobrov
Andrei Bobrov 2011-7-20
[X,Y] = meshgrid(x,y);
Z = fun(X,Y);% or Z - array double with size [length(x),length(y)]
mesh(X,Y,Z)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by