MATLABで中心から座標までの距離ごとに分けてプロットする方法
機械のハンドルを座標(0,0)から12方向に向かって目標のポイントまで動かした際の、中心から座標までの線をMATLABでプロットしたいです。
data には、ハンドルが到達した地点の座標データが行列として格納されています。
中心からの距離が3cmまで動かすタスクと6cmまで動かすタスクの結果がランダムに入っており、それぞれ分けてプロットしたいのですが方法が分かりません。
人力でハンドルを動かしているためブレがあり、3cmまで動かすタスクの場合は距離4cm以下を目安に、6cmまでの場合は距離5cm以上を目安にプロットしたいです。
完成形としては、中心(0,0)から12方向に線が伸びている形となります。
例えば以下のプログラムは、中心と目標座標の2点間の距離がそれぞれ4cm以下の場合と5cm以上の場合で分ける、という風にした場合です。
4cm以下の場合については正しくプロットできるのですが、5cm以上の場合に何もプロットされません。これをプロットする方法を教えていただきたいです。
もしくは他に良い分け方があれば教えていただきたいです。
説明不足かもしれませんが、よろしくお願いいたします。
n=length(data)-1; %Number of trial
f1 = figure;
f2 = figure;
for i=1:n
x=data(i).Right_HandX*100; %handle position x (cm)
%スタート地点の都合上、-18cmして座標を揃えている
y=data(i).Right_HandY*100-18; %handle position y (cm),
[b,a] = butter(2,cf/(sf/2));
x = filtfilt(b,a,x);
y = filtfilt(b,a,y);
dis = sqrt((0-x).^2 + (0-y).^2);
if dis <= 4
figure(f1);
line(x, y);
elseif dis >= 5
figure(f2);
line(x, y);
end
end