distance

Расстояние между двумя состояниями

Описание

пример

dist = distance(space,states1,states2) возвращает расстояние между states1 и states2 в заданном пространстве состояний space.

Примеры

свернуть все

Создайте пространство состояний 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

Входные параметры

свернуть все

Объект пространства состояний, заданный как stateSpaceSE2, stateSpaceSE3, stateSpaceDubins, или stateSpaceReedsShepp объект.

Начальные состояния для вычисления расстояния, заданные как n -by-3 или n -by-7 матрица вещественных значений. n - количество заданных состояний.

Для 2-D объектов пространства состояний stateSpaceSE2, stateSpaceDubins, и stateSpaceReedsSheppкаждая строка имеет форму [x y theta], который задает xy положение и угол ориентации theta состояния в пространстве состояний.

Для объекта пространства состояний 3-D stateSpaceSE3каждая строка имеет форму [x y z qw qx qy qz], который определяет xyz ориентацию -позиции и кватерниона [qw qx qy qz] состояния в пространстве состояний.

Функция поддерживает следующие комбинации для вычисления расстояния:

  • n -to- n - n количество состояний в states1 и n число состояний в states2.

    Для примера, distance(space,rand(10,7),rand(10,7))

  • 1-до- n - 1 состояние в states1 и n число состояний в states2.

    Для примера, distance(space,rand(1,7),rand(10,7))

  • n -to-1 - n число состояний в states1 и 1 состояние в states2.

    Для примера, distance(space,rand(10,7),rand(1,7))

Типы данных: single | double

Конечные состояния для вычисления расстояния, заданные как n -by-3 или n -by-7 матрица вещественных значений. n - количество заданных состояний.

Для 2-D объектов пространства состояний stateSpaceSE2, stateSpaceDubins, и stateSpaceReedsSheppкаждая строка имеет форму [x y theta], который задает xy положение и угол ориентации theta состояния в пространстве состояний.

Для объекта пространства состояний 3-D stateSpaceSE3каждая строка имеет форму [x y z qw qx qy qz], который определяет xyz ориентацию -позиции и кватерниона [qw qx qy qz] состояния в пространстве состояний.

Функция поддерживает следующие комбинации для вычисления расстояния:

  • n -to- n - n количество состояний в states1 и n число состояний в states2.

    Для примера, distance(space,rand(10,7),rand(10,7))

  • 1-до- n - 1 состояние в states1 и n число состояний в states2.

    Для примера, distance(space,rand(1,7),rand(10,7))

  • n -to-1 - n число состояний в states1 и 1 состояние в states2.

    Для примера, distance(space,rand(10,7),rand(1,7))

Типы данных: single | double

Выходные аргументы

свернуть все

Расстояние между состояниями, возвращенное как n-элементный вектор-столбец. n - количество заданных состояний.

Функция поддерживает следующие комбинации для вычисления расстояния:

  • n -to- n - n количество состояний в states1 и n число состояний в states2.

  • 1-до- n - 1 состояние в states1 и n число состояний в states2.

  • n -to-1 - n число состояний в states1 и 1 состояние в states2.

Типы данных: single | double

Введенный в R2019b