exponenta event banner

расстояние

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

Описание

пример

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-position и quaternion [qw qx qy qz] состояния в пространстве состояний.

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

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

    Например, distance(space,rand(10,7),rand(10,7))

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

    Например, distance(space,rand(1,7),rand(10,7))

  • n-to-1 - число состояний в 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-position и quaternion [qw qx qy qz] состояния в пространстве состояний.

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

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

    Например, distance(space,rand(10,7),rand(10,7))

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

    Например, distance(space,rand(1,7),rand(10,7))

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

    Например, distance(space,rand(10,7),rand(1,7))

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

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

свернуть все

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

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

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

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

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

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

Представлен в R2019b