2015-05-09 91 views
1

我有大小5×3,其包括3D(X,Y,Z)矩阵A一些点的坐标这样的:如何绘制3D分离系在Matlab

A = [5.2985 0.3737 6.7050; 
    0.5921 2.0948 6.9703; 
    -4.2524 3.8338 6.9863; 
    -3.9856 3.708 2.7925; 
    -3.6727 3.58830 1.2437] 

和矩阵B与尺寸5X3,其包括另一点的三维坐标,以及这样的:

B = [10.715877 -19.59950 3.575112000; 
    14.3055 -17.9177  6.46700; 
    17.67064 -16.201099 9.86076800; 
    14.8090 -16.30260 12.64600; 
    13.412823 -16.49700 13.4652810] 

,并用5×1的尺寸矢量D其包括矩阵A和矩阵B,像这样的每个点之间的距离的错误:

D = [0.001; 
    0.03; 
    0.07; 
    0.06; 
    0.6] 

例如D(1,1)A(1)B(1)D(2,1)之间的距离误差是距离误差A(2)B(2)之间等。现在,我的问题是如何将这两个3D点数据集与它们的距离误差线绘制在同一个图中?以及如何以相同的颜色显示每条距离线及其相应的点?例如,从point1矩阵Apoint1从矩阵B及其距离误差示出了具有从矩阵B红色,然后从point2矩阵Apoint2及其距离误差显示与蓝色等。

这是应该的样子: desired result

+0

我不明白是什么你现在想要精确地绘制你编辑你的问题。你需要将可视化的点数?点应该连接? “距离误差”应该如何准确可视化?也许你可以想出一个你希望输出看起来像样的二维示例版本。 –

+0

@ m.s。首先,THX回答。其次,一般来说,我想将这两点之间的距离误差可视化为一条线。因此,由于距离误差比这些点之间的距离太小,所以这些点将不会被连接,可以看到的东西是每个相关的具有相同颜色和距离误差的两个点(该距离误差线从第一点开始并且它的方向朝向第二点,我在[Link](http://s000.tinyupload.com/?file_id=76913803535743382344)中附加了一张照片,它显示我需要形象化,我希望你能帮助我 –

+0

我更新了我的答案,我希望它符合你的期望 –

回答

2

我更新了我的答案,以反映您的意见:

hold on; 

BA = B-A; 
cc=hsv(size(A,1)); 

for k = 1:size(A,1) 
    scatter3([A(k,1),B(k,1)],[A(k,2),B(k,2)],[A(k,3),B(k,3)],'MarkerFaceColor',cc(k,:), 'MarkerEdgeColor', 'none'); 
    plot3([A(k,1),A(k,1)+BA(k,1)*D(k)],[A(k,2),A(k,2)+BA(k,2)*D(k)],[A(k,3),A(k,3)+BA(k,3)*D(k)],'-', 'Color', cc(k,:)); 
end 
hold off; 

导致情节:

plot

+0

THX男人。这正是我需要的 –