Show older comments
I am attempting to plot the equation X^2 + 4*Y^2 < 1, using the mesh function. I currently have the code
[X,Y] = meshgrid(-1:.25:1);
Z = ((X.^2 + 4 * Y.^2) );
mesh(X,Y,Z)
However, this does not follow the requirement of Z < 1. How would I accomplish this?
Answers (1)
the cyclist
on 2 Aug 2011
I don't understand why you expect Z to be less than 1, since your definition of Z clearly has a maximum of 5.
However if you only want to plot values of Z that are less than 1, then you could substitute "NaN" where Z>=1, like this:
Z(Z>1) = NaN
and then do your mesh plot.
8 Comments
Sean de Wolski
on 2 Aug 2011
z(z>=1)=nan
Tyler
on 2 Aug 2011
Sean de Wolski
on 2 Aug 2011
Perhaps you wanted
Z(Z>1) = 1;
so that it shows as one instead of blank?
the cyclist
on 2 Aug 2011
Well, the equation is what it is. Maybe if you plotted a finer mesh it would be better. Also, consider using the view() command to change the perspective.
Tyler
on 2 Aug 2011
the cyclist
on 2 Aug 2011
Also, the "4" in your equation is definitely going to mean that the shape is not very symmetrical between X and Y. Is that 4 really supposed to be there?
the cyclist
on 2 Aug 2011
Sorry! I made a typo of "finger mesh" instead of "finer mesh". I corrected it.
Sean de Wolski
on 2 Aug 2011
http://www.mathworks.com/matlabcentral/fileexchange/16728-fingerprint-application
finger meshing!
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!