0
내가, MATLAB에서 점 세트와 그것의 부분 집합이라는 앵커 포인트를 걸리는 알고리즘을 알고리즘을 구현하기 위해 노력하고, 알고리즘의 작업은 다음과 같이MatLab에서 재귀 적으로 수정 된 배열을 반환하는 방법은 무엇입니까?
- 가 먼 두 앵커 포인트를
- 분할 찾기 각 그룹은 하나의 고정 점
- 복귀 한 앵커 지점
문제는 MatLab이 그룹을 공식화하더라도 올바른 방법으로 배열을 반환 할 수는 없지만 참조로 배열을 수정할 수 없다는 것입니다.
어떻게이 문제를 극복 할 수 있습니까 ??
function [part1, part2, part1anchors, part2anchors] = iterativeSpletting(points, anchors)
dist = @(a, b) ((a.xd - b.xd)^2 + (a.yd - b.yd)^2)^0.5;
%find farthest two anchors
[ch1, ch2] = FarthestPoints(anchors);
%find parts
for i = 1:numel(points)
if (dist(points(i), ch1) <= dist(points(i), ch2))
part1 = [part1, points(i)];
else
part2 = [part2, points(i)];
end
end
%assing anchors to parts
for i = 1:numel(anchors)
if (dist(anchors(i), ch1) <= dist(anchors(i), ch2))
part1anchors = [part1anchors, anchors(i)];
else
part2anchors = [part2anchors, anchors(i)];
end
end
if numel(part1anchors) == 1
%how to return the part
else
iterativeSpletting(part1, part1anchors)
end
if numel(part2ch2) == 1
%how to return the part
else
iterativeSplitting(part2, part2anchors)
end
end
당신이 – bla
예 확인 ... 시도 무엇을 우리에게 보여 (matlab에 일반적으로 불필요한 복사를 방지하기 위해 최적화) , 고마워, 고마워. – Hani