I plotted an hyperbolic parabolid surface in Matlab. The colour of the plot is based on the z-coordinate of the surface. But, now I want to visualise the result of an other function (like: f= x+y+2) on the the surface. So the colour of the surface should be based on the result of function f and not on the z-coordinate. Can somebody explain clearly how to do this? Is it a 4dplot?...and/or how this exactly works?
Thanks in advance!
k = 1
x = linspace(-3,3);
y = linspace(-3,3);
[x,y] = meshgrid(x,y);
z = k*x.*y;
No products are associated with this question.
'CDataSource' is the property you need. In your case:
f = x.^2+y.^2; % The "other" function m = mesh(x,y,z) % m now contains a handle to the mesh set(m,'CDataSource','f') % 'CDataSource' is a variable name as a string refreshdata % That's necessary so Matlab reevaluates the CDataSource
hmm..I dont get it.
When i add your code, nothing in the plot changes:
i.e. when f = x, the points with te same x coordinate should be plotted in the same color.
When f = cte, the whole surface should be plotted in the same color.
Play games and win prizes!Learn more