How to draw this 3D plot (PSD cone)

7 次查看(过去 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 中查找有关 Surface and Mesh Plots 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by