Main Content

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

sample

Exemples d'états à partir d'un échantillonneur d'état uniforme

Depuis R2023b

    Description

    states = sample(sampler) renvoie un échantillon d'état sélectionné à l'aide de l'approche d'échantillonnage d'état uniforme.

    exemple

    states = sample(sampler,numsamples) renvoie le nombre spécifié d'échantillons d'état.

    Exemples

    réduire tout

    Utiliser l'espace d'état par défaut comme entrée

    Créez un échantillonneur d'état uniforme avec des propriétés par défaut. Par défaut, l'échantillonneur utilise l'espace d'état SE(2) comme espace de configuration pour la planification de mouvement. Les limites des variables d'état [x, y, theta] dans l'espace d'état par défaut sont [-100 100; -100 100; -3.1416 3.1416]. Les valeurs de x et y sont en mètres. theta est en radians.

    sampler = stateSamplerUniform;

    Vérifiez les limites de l'espace d'état d'entrée.

    bounds = sampler.StateSpace.StateBounds
    bounds = 3×2
    
     -100.0000  100.0000
     -100.0000  100.0000
       -3.1416    3.1416
    
    

    Échantillonnez l’espace d’état d’entrée. Définissez le nombre d’échantillons à sélectionner sur 10.

    states = sample(sampler,10);

    Vérifiez les variables d'état échantillonnées.

    disp(states)
       62.9447   81.1584   -2.3437
       82.6752   26.4718   -2.5287
      -44.3004    9.3763    2.8746
       92.9777  -68.4774    2.9568
       91.4334   -2.9249    1.8867
      -71.6227  -15.6477    2.6121
       58.4415   91.8985    0.9785
      -92.8577   69.8259    2.7269
       35.7470   51.5480    1.5276
      -21.5546   31.0956   -2.0660
    

    Utiliser l'espace d'état personnalisé comme entrée

    Définissez un espace d'état SE(2) personnalisé en spécifiant les limites des variables d'état [x, y, theta]. Les valeurs de x et y sont en mètres. theta est en radians.

    ss = stateSpaceSE2([-1 1; -2 2; -pi/2 pi/2]);

    Créez un échantillonneur d'état uniforme avec l'espace d'état personnalisé en entrée.

    sampler = stateSamplerUniform(ss);

    Échantillonnez l’espace d’état d’entrée. Définissez le nombre d’échantillons à sélectionner sur 10.

    states = sample(sampler,10);

    Vérifiez les variables d'état échantillonnées.

    disp(states)
        0.4121   -1.8727   -0.7008
       -0.9077   -1.6115    1.0162
        0.3897   -0.7316    1.4144
       -0.9311   -0.2450   -0.3721
        0.5310    1.1808   -0.9837
       -0.0205   -0.2177    0.4597
        0.4187    1.0187   -0.7036
        0.3594    0.6204   -1.0599
       -0.7620   -0.0065    1.4443
       -0.3192    0.3411   -0.8677
    

    Arguments d'entrée

    réduire tout

    Objet échantillonneur d'état, spécifié comme objet stateSamplerUniform .

    Nombre d'échantillons, spécifié sous forme d'entier positif.

    Types de données : double

    Arguments de sortie

    réduire tout

    Échantillons d'état, renvoyés sous la forme d'une M-par- N de valeurs réelles. M est le nombre d’états. N est le nombre de variables d'état. Chaque ligne de la matrice spécifie les variables d'état correspondant au modèle d'espace d'état d'entrée. Par exemple, pour le modèle d'espace d'état SE(2), N vaut 3 et chaque ligne est de la forme [x, y, theta].

    Types de données : double

    Historique des versions

    Introduit dans R2023b