Iのような構造体のアレイを有する:その中の多くの点を有するMATLABで構造体配列のメンバシップをテストする方法は?
points = struct('x',[],'y',[],'z',[])
今3点の座標(X、Y、Z)は、Aがある場合、私は今したい所与
points(1).x = 3
points(1).y = 4.5
points(1).z = 1
...
points(n).x = 2
points(n).y = 23
points(n).z = 4
をpoints
を指す。したがって、私は次の関数を定義しました:
function true_or_false = is_in(points, point)
for i = 1:numel(points)
if abs(points(i).x - point.x) < 1e-7 && ...
abs(points(i).y - point.y) < 1e-7 && ...
abs(points(i).z - point.z) < 1e-7
true_or_false = true;
return
end
end
true_or_false = false;
end
問題は非常に非効率的です。これを行うより良い方法はありますか?おそらく構造の代わりに何か他のものを使用していますか?
[コードレビュー](http://codereview.stackexchange.com/)を求めていますか? –
私は問題を解決するための効率的な選択肢を求めています。 – IIIaxS