Main Content

distance

두 상태 간의 거리

R2019b 이후

설명

예제

dist = distance(space,states1,states2)는 지정된 상태공간 space에서 states1states2 간의 거리를 반환합니다.

예제

모두 축소

SE(3) 상태공간을 생성합니다.

space = stateSpaceSE3
space = 
  stateSpaceSE3 with properties:

                 Name: 'SE3'
          StateBounds: [7x2 double]
    NumStateVariables: 7
            WeightXYZ: 1
     WeightQuaternion: 0.1000

두 상태 간의 거리를 계산합니다.

dist = distance(space,[2 10 3 0.2 0 0 0.8],[0 -2.5 4 0.7 0.3 0 0])
dist = 12.7269

두 상태 간의 유클리드 거리를 계산합니다.

space.WeightQuaternion = 0;
distEuc = distance(space,[2 10 3 0.2 0 0 0.8; 4 5 2 1 2 4 2],[62 5 33 0.2 0 0 0.8; 9 9 3 3 1 3.1 7])
distEuc = 2×1

   67.2681
    6.4807

입력 인수

모두 축소

state space 객체로, stateSpaceSE2 객체 또는 stateSpaceSE3 객체, stateSpaceDubins 객체 또는 stateSpaceReedsShepp 객체로 지정됩니다.

거리 계산을 위한 초기 상태로, 실수 값으로 구성된 n×3 행렬 또는 n×7 행렬로 지정됩니다. n은 지정된 상태의 개수입니다.

2차원 state space 객체 stateSpaceSE2, stateSpaceDubins, stateSpaceReedsShepp의 경우, 각 행은 [x y theta] 형식을 가집니다. 이는 상태공간에서 상태의 xy 위치와 방향 각도 theta를 정의합니다.

3차원 state space 객체 stateSpaceSE3의 경우, 각 행은 [x y z qw qx qy qz] 형식을 가집니다. 이는 상태공간에서 상태의 xyz 위치와 쿼터니언 방향 [qw qx qy qz]를 정의합니다.

함수는 거리 계산을 위해 다음과 같은 조합을 지원합니다.

  • n-n — states1의 n개 상태와 states2의 n개 상태.

    예: distance(space,rand(10,7),rand(10,7))

  • 1-n — states1의 1개 상태와 states2의 n개 상태.

    예: distance(space,rand(1,7),rand(10,7))

  • n-1 — states1의 n개 상태와 states2의 1개 상태.

    예: distance(space,rand(10,7),rand(1,7))

데이터형: single | double

거리 계산을 위한 최종 상태로, 실수 값으로 구성된 n×3 행렬 또는 n×7 행렬로 지정됩니다. n은 지정된 상태의 개수입니다.

2차원 state space 객체 stateSpaceSE2, stateSpaceDubins, stateSpaceReedsShepp의 경우, 각 행은 [x y theta] 형식을 가집니다. 이는 상태공간에서 상태의 xy 위치와 방향 각도 theta를 정의합니다.

3차원 state space 객체 stateSpaceSE3의 경우, 각 행은 [x y z qw qx qy qz] 형식을 가집니다. 이는 상태공간에서 상태의 xyz 위치와 쿼터니언 방향 [qw qx qy qz]를 정의합니다.

함수는 거리 계산을 위해 다음과 같은 조합을 지원합니다.

  • n-n — states1의 n개 상태와 states2의 n개 상태.

    예: distance(space,rand(10,7),rand(10,7))

  • 1-n — states1의 1개 상태와 states2의 n개 상태.

    예: distance(space,rand(1,7),rand(10,7))

  • n-1 — states1의 n개 상태와 states2의 1개 상태.

    예: distance(space,rand(10,7),rand(1,7))

데이터형: single | double

출력 인수

모두 축소

상태 간의 거리로, 요소를 n개 가진 열 벡터로 반환됩니다. n은 지정된 상태의 개수입니다.

함수는 거리 계산을 위해 다음과 같은 조합을 지원합니다.

  • n-n — states1의 n개 상태와 states2의 n개 상태.

  • 1-n — states1의 1개 상태와 states2의 n개 상태.

  • n-1 — states1의 n개 상태와 states2의 1개 상태.

데이터형: single | double

버전 내역

R2019b에 개발됨