Plotting in a 3D space from different perspectives

조회 수: 8 (최근 30일)
Cédric Cavents
Cédric Cavents 2016년 4월 16일
댓글: Ced 2016년 4월 17일
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