Plotting in a 3D space from different perspectives

8 vues (au cours des 30 derniers jours)
Cédric Cavents
Cédric Cavents le 16 Avr 2016
Commenté : Ced le 17 Avr 2016
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!

Réponses (1)

Ced
Ced le 16 Avr 2016
You can use the view function and e.g. pass it the viewing angles. See here for a simple example.
  2 commentaires
Cédric Cavents
Cédric Cavents le 17 Avr 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 le 17 Avr 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by