2017-02-02 8 views
1

行列はの4つの列を持つpathsです。最初の行にはpathがあり、残りの3つは次元です。 pathsを印刷したいと思います。私はそれをやっている:どのようにグループの最初の列の行列pathsとは、各グループのパスを印刷することができます:心の中で少し関数型プログラミングでは列で行列の行をグループ化し、行で記述されたパスをプロットする。

for p = min(paths(1,:)):max(paths(1,:)) 
    path = paths(paths(:,1)==p,:); 
    plot3(path(:,2),path(:,3),path(:,4),'Color','k'); 
end 

、私が知りたいのですが?

答えて

0

あなたは非常に近くでした。まず、(holdを使用して)あなたは(あなたの質問のようではない)最初列の値をループにを必要とし、唯一の関連パスを取るための論理的なインデックスを作成し、それらをプロットします

ここ
paths = [randi(4,50,1) rand(50,3)]; % example data 
for p = unique(paths(:,1)).' 
    path = paths(:,1)==p; % a logical index for path p 
    plot3(paths(path,2),paths(path,3),paths(path,4)); 
    hold on % to plot all the paths on the same axes 
end 
hold off % stop plotting on this axes 

を出力するための一例である。

enter image description here

関連する問題