在Matlab中绘制3D点并通过线路按顺序连接它们

时间:2013-04-02 03:14:06

标签: matlab mesh matlab-figure scatter-plot

我有一个包含3D浮点数的数组。不仅我想在图中描绘它们,而且我想用线连接它们。

示例)假设我们有一个名为X的数组:

X=[0, 0, 0; 0.48, -0.88, 0.09; -1.06, 0.55, 0.9; -0.65, 1.5, -1.44; 1.1, 0.59,
-1.11;0.76, 0.86, -0.52; -1.08, -0.28, 0.55; 1.47, -1.21, 0.14; 1.42, -2.15, 0.71; -0.64,  
1.87, 2.4;2.32, -2.44, 2.02; 2.25, -2.56, -3.03; 2.35, 2.65, -1.5; 0.23, -2.25, 2.78; 2.47,  
-3.12,  -1.91; 2.27, 1.37, -3.05; 2.3, 1.9, -1.29; -1.77, -0.51, 2.33];  

    X1= [0,0,0]  
    X2=[0.48, -0.88, 0.09]  
    X3=[-1.06, 0.55, 0.9] ...   

现在我希望X1 ... Xn在图中绘制为点然后X1连接到X2,X2连接到X3,X3连接到X4等等

我怎么能这样做?

这是我所做的,但我得到了一个错误的数字:

figure;hold on;  
    P=[];  
    for i=1:size(X,1)  
    x=X(i,1);  
    y=X(i,2);  
    z=X(i,3);  
    A=[ x,y,z];  
    P=vertcat(P,A);  
    plot(P);  
    end  

以下是输出:

enter image description here

1 个答案:

答案 0 :(得分:1)

查看plot3 documentation

特别是,plot3(X, Y, Z)将绘制点并用线连接它们。

在你的情况下:

plot3(X(:, 1), X(:, 2), X(:, 3))