How to draw this 3D plot (PSD cone)

3 次查看(过去 30 天)
Hi all:
I have vectors: x,y,z with the same dimension.
I use plot(x,y,z,',') to plot it. The following is the code:
clear all;
close all;
clc
num = 0;
%%loop
for x = 0 : .02 : 1
for y = -1 : .02 : 1
for z = 0 : .02 : 1
num = num + 1;
A = [x y;y z];
a = eig(A);
if (a(1) >= 0) && (a(2) >= 0)
vecx(num) = x;
vecy(num) = y;
vecz(num) = z;
else
vecx(num) = NaN;
vecy(num) = NaN;
vecz(num) = NaN;
end
end
end
end
%%picture
figure(1)
plot3(vecx,vecy,vecz,'.')
axis([0 1 -1 1 0 1])
The answer should look like:
However, my answer is:
The similar shape, but different result. How to fix it?
How to draw the lines on the surface?
Thanks,

采纳的回答

Stefan Reich
Stefan Reich 2016-7-29
Dear Dian-Jing, Usually I would suggest using
meshgrid()
surf()
In your case, downloading and installing this file might just be easier! https://www.mathworks.com/matlabcentral/fileexchange/5105-making-surface-plots-from-scatter-data Best, S

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by