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

 채택된 답변

Walter Roberson
Walter Roberson 2019년 4월 26일

0 개 추천

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

Rajkumar Verma
Rajkumar Verma 2019년 4월 26일
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
Walter Roberson
Walter Roberson 2019년 4월 26일
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.)
Rajkumar Verma
Rajkumar Verma 2019년 4월 27일
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.)
Rajkumar Verma
Rajkumar Verma 2019년 4월 27일
Thanks for your kind help.
Gustavo Lunardon
Gustavo Lunardon 2020년 8월 7일
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Discrete Data Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by