Plotting in a 3D space from different perspectives

10 views (last 30 days)
Hello,
I would like to plot the following (s,k,w) domain
s<0 & k>3+11.1282s^2 &
(1/32)(27-3*sqrt(6)+sqrt(111+46*sqrt(6))[(k-3)^2/s]+10s > w >[(k-3)^2/s] + 10s
To have a clear view of the domain, it would be useful to have three plots from three perspectives, namely (s,k), (s,w) and (k,w). How to achieve this with Matlab?
Thanks!

Answers (1)

Ced
Ced on 16 Apr 2016
You can use the view function and e.g. pass it the viewing angles. See here for a simple example.
  2 Comments
Cédric Cavents
Cédric Cavents on 17 Apr 2016
Thanks for the answer! This is how I implemented the existence domain
s = linspace(-10,0);
k = linspace(3,20);
w = linspace(-50,0);
[S,K,W] = meshgrid(s,k,w);
I = (K>3+11.1282*S.^2) & (W > ((K-3).^2)./S + 10*S) & ( W < (((K-3).^2)./(32*S))*(27-sqrt(111+46*sqrt(6))-3*sqrt(6))+10*S);
figure(1)
scatter3(S(I),K(I),W(I),'filled')
xlabel('skewness')
ylabel('kurtosis')
zlabel('hyper skewness')
az = 0;
el = 90;
view(az, el);
However, I find the result quite strange. Especially, the view of (skewness vs kurtosis) which is far from a parabola. Do you have any alternative suggestions to implement the domain?
Thanks!
Ced
Ced on 17 Apr 2016
For me, the issue is that your different axes have very different scaling. And you have a coarse grid, which results in these strange sections.
You could e.g. normalize your axes according to the relevant range and use "axis equal".
If you only need projections, I would treat each projection separately, i.e. W-S, S-K, K-W. This will allow you to significantly increase the number of points plotted, and will result in a denser grid.

Sign in to comment.

Categories

Find more on 2-D and 3-D 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!