Plotting in a 3D space from different perspectives

13 次查看(过去 30 天)
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!

回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by