Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

distance

Distance entre deux états

Depuis R2019b

Description

exemple

dist = distance(space,states1,states2) renvoie la distance entre states1 et states2 dans l'espace d'état spécifié space.

Exemples

réduire tout

Créez un espace d'état SE(3).

space = stateSpaceSE3
space = 
  stateSpaceSE3 with properties:

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

Calculez la distance entre deux états.

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

Calculez la distance euclidienne entre deux états.

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

Arguments d'entrée

réduire tout

Objet d'espace d'état, spécifié comme un objet stateSpaceSE2, stateSpaceSE3, stateSpaceDubins ou stateSpaceReedsShepp .

États initiaux pour le calcul de la distance, spécifiés sous la forme d'une n-by-3 ou n-by-7 de valeurs réelles. n est le nombre d’états spécifiés.

Pour les objets de l'espace d'état 2D stateSpaceSE2, stateSpaceDubins et stateSpaceReedsShepp, chaque ligne est de la forme [x y theta], qui définit la xy-position et l'angle d'orientation theta d'un état dans l'espace d'état.

Pour l'objet spatial d'état 3D stateSpaceSE3, chaque ligne est de la forme [x y z qw qx qy qz], qui définit la position et l'orientation du quaternion du xyz [qw qx qy qz] d'un état dans l'espace des états.

La fonction prend en charge les combinaisons suivantes pour le calcul de distance :

  • n-à- nn nombre d'états dans states1 et n nombre d'états dans states2.

    Par exemple, distance(space,rand(10,7),rand(10,7))

  • 1-to- n — 1 état dans states1 et n nombre d'états dans states2.

    Par exemple, distance(space,rand(1,7),rand(10,7))

  • n-to-1 — n nombre d'états dans states1 et 1 état dans states2.

    Par exemple, distance(space,rand(10,7),rand(1,7))

Types de données : single | double

États finaux pour le calcul de la distance, spécifiés sous la forme d'une n-by-3 ou n-by-7 de valeurs réelles. n est le nombre d’états spécifiés.

Pour les objets de l'espace d'état 2D stateSpaceSE2, stateSpaceDubins et stateSpaceReedsShepp, chaque ligne est de la forme [x y theta], qui définit la xy-position et l'angle d'orientation theta d'un état dans l'espace d'état.

Pour l'objet spatial d'état 3D stateSpaceSE3, chaque ligne est de la forme [x y z qw qx qy qz], qui définit la position et l'orientation du quaternion du xyz [qw qx qy qz] d'un état dans l'espace des états.

La fonction prend en charge les combinaisons suivantes pour le calcul de distance :

  • n-à- nn nombre d'états dans states1 et n nombre d'états dans states2.

    Par exemple, distance(space,rand(10,7),rand(10,7))

  • 1-to- n — 1 état dans states1 et n nombre d'états dans states2.

    Par exemple, distance(space,rand(1,7),rand(10,7))

  • n-to-1 — n nombre d'états dans states1 et 1 état dans states2.

    Par exemple, distance(space,rand(10,7),rand(1,7))

Types de données : single | double

Arguments de sortie

réduire tout

Distance entre les états, renvoyée sous la forme d'un vecteur de colonne d'éléments n. n est le nombre d’états spécifiés.

La fonction prend en charge les combinaisons suivantes pour le calcul de distance :

  • n-à- nn nombre d'états dans states1 et n nombre d'états dans states2.

  • 1-to- n — 1 état dans states1 et n nombre d'états dans states2.

  • n-to-1 — n nombre d'états dans states1 et 1 état dans states2.

Types de données : single | double

Historique des versions

Introduit dans R2019b