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

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Christoph
Christoph il 20 Lug 2011
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 Commenti
bsd
bsd il 20 Lug 2011
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 il 20 Lug 2011
@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)]"

Accedi per commentare.

Più risposte (1)

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

Categorie

Scopri di più su Line Plots in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by