Hello friends,
I have three variables:
,
,
,
with condition .
. ,
and .
.
How to generate the graph for . ,

 Accepted Answer

x = 0:.01:1; y = x; z = x;
[X,Y,Z] = meshgrid(x,y,z);
mask = X.^2 + Y.^2 + Z.^2 <= 1;
F = sqrt(1-(X.^2+Y.^2+Z.^2)); %caution, need this order because of round-off
subplot(1,2,1)
scatter3(X(mask),Y(mask),Z(mask),20,F(mask));
subplot(1,2,2);
F2 = F;
F2(~mask) = nan;
for level = 0.2:0.2:0.8
isosurface(X, Y, Z, F2, level);
end

7 Comments

Thanks for this code. I want another type of graph for this data. Please see the attached graph. Please help me to get this type of graph for this data.20190426_120452.jpg
That plot does not meet your original requirement to create a 4D plot of (x, y, z, f) . That plot is x, y, z with a single f value, and with two lights of different colors to provide the two different colors for inside and outside. (I am not certain at the moment where the two lights are positioned. The red one is plausibly at the origin, but the blue one is a bit of a puzzle.)
Ok. Thanks for your comment. How can I draw this graph with any colour?
isosurface(X, Y, Z, F2, level)
for level in the range 0 to 1 (representing the F value that you want to plot for.)
Thanks for your kind help.
Hello!
How would you apply the scatter3 command to plot all the grid points if you had no inequality (no mask)?
Is there a more elegalnt solution than just selecting an inequality that would always be satisfied?
scatter3(X(:), Y(:), Z(:), 20, F(:)); %F will be used for color information

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!