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 является количеством заданных состояний.

Поскольку 2D пространство состояний возражает 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 является количеством заданных состояний.

Поскольку 2D пространство состояний возражает 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