how to plot 3D graph using mesh() for a rectangular matrix of data?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
0 commentaires
Réponse acceptée
Christoph
le 20 Juil 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 commentaires
Christoph
le 20 Juil 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)]"
Plus de réponses (1)
Andrei Bobrov
le 20 Juil 2011
[X,Y] = meshgrid(x,y);
Z = fun(X,Y);% or Z - array double with size [length(x),length(y)]
mesh(X,Y,Z)
0 commentaires
Voir également
Catégories
En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!