당신은 그렇게 pdist2
를 사용할 수 있지만 다음, 그리드 좌표를 얻을의 거리를 계산하고 매트릭스로 다시 재 배열해야 할 것이다, 그래서 난 그냥 직접 거리를 계산할 수 있습니다 :
point = [1 1]; % point to calculate distance from
imgRows = 10; % grid size
imgCols = 10;
a = sqrt(([1:imgRows].' - point(1)).^2 + ([1:imgCols] - point(2)).^2);
을
당신이 자동 방송과 MATLAB (또는 옥타브)의 최신 버전을 사용하지 않는 경우, 대신 bsxfun
버전을 사용해야합니다 :
a = bsxfun(@(x,y) sqrt(x.^2 + y.^2), ([1:imgRows] - point(1)).', ([1:imgCols] - point(2)));
결과 :
,536,913,632를 10
a =
0.00000 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000 7.00000 8.00000 9.00000
1.00000 1.41421 2.23607 3.16228 4.12311 5.09902 6.08276 7.07107 8.06226 9.05539
2.00000 2.23607 2.82843 3.60555 4.47214 5.38516 6.32456 7.28011 8.24621 9.21954
3.00000 3.16228 3.60555 4.24264 5.00000 5.83095 6.70820 7.61577 8.54400 9.48683
4.00000 4.12311 4.47214 5.00000 5.65685 6.40312 7.21110 8.06226 8.94427 9.84886
5.00000 5.09902 5.38516 5.83095 6.40312 7.07107 7.81025 8.60233 9.43398 10.29563
6.00000 6.08276 6.32456 6.70820 7.21110 7.81025 8.48528 9.21954 10.00000 10.81665
7.00000 7.07107 7.28011 7.61577 8.06226 8.60233 9.21954 9.89949 10.63015 11.40175
8.00000 8.06226 8.24621 8.54400 8.94427 9.43398 10.00000 10.63015 11.31371 12.04159
9.00000 9.05539 9.21954 9.48683 9.84886 10.29563 10.81665 11.40175 12.04159 12.72792
이 어떻게 당신이 10 dimensinal 점과 2 차원 점 사이의 거리를 계산하는 거라고 제안합니까? – Suever
마지막 줄에 괄호가 없습니다. – beaker
그래서 모든 지수 [x, y]에 가치가 있다고 생각했습니다. 저는 그 값을 [1,1]에서 그 점의 거리로 원합니다. 그게 더 합리적입니까? – user2305193