FlexPro
HistoryBase
Ingénierie
Formation
Téléchargements
Assistance FlexPro
Connaissance
Communauté
À propos de nous
Références
Emplois
Contact général
Liste des revendeurs
Assistance FlexPro
FR
DE
EN
Porte-plaquette

Documentation FlexPro 2025

Noise

Génère des nombres aléatoires distribués de manière égale, normale ou exponentielle.

Syntaxe

Noise(Value, le [ Distribution Variable NOISE_UNIFORM ] [ , le Init ])

 

La syntaxe de la fonction Noise se compose des éléments suivants :

Section

Description

Value

Toute valeur qui détermine le nombre, la structure des données et l'unité des nombres aléatoires.

Toutes les structures de données sont autorisées. Tous les types de données numériques sont autorisés.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Distribution

Détermine la distribution statistique des nombres aléatoires.

L'argument Distribution peut avoir les valeurs suivantes :

Constante

Signification

NOISE_UNIFORM

Génère des nombres aléatoires également répartis dans l'intervalle [-1, 1].

NOISE_NORMAL

Génère des nombres aléatoires normalement distribués dont la moyenne est égale à 0 et l'écart-type à 1.

NOISE_EXPONENTIAL

Génère des nombres aléatoires distribués de manière exponentielle avec un lambda égal à 1.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut NOISE_UNIFORM .

Init

La valeur d'initialisation du générateur de nombres aléatoires. Si vous passez 0, le générateur n'est pas réinitialisé, c'est-à-dire que la séquence déjà commencée lors d'un appel précédent se poursuit. Si vous omettez l'argument ou appelez la fonction pour la première fois, le générateur est initialisé en utilisant l'heure système actuelle.

Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Remarques

Le type de données du résultat est toujours Virgule flottante de 64 bits.

La structure du résultat correspond à celle de l'argument Value.

Si Value a une structure de données composée, c'est-à-dire est un signal, une série de signaux ou une courbe 3D, alors la composante X et, le cas échéant, Z est copiée dans le résultat et un nombre aléatoire est généré pour chaque valeur de la composante Y.

Pour générer des nombres aléatoires uniformément distribués, la fonction utilise un générateur aléatoire avec des longueurs de cycle aléatoires, comme il est décrit pour le générateur "RANROT Type W" dans [1].

Les nombres aléatoires normalement distribués sont générés à partir des nombres aléatoires équirépartis à l'aide de la méthode Box-Mueller. Les nombres aléatoires générés ont une moyenne de 0 et un écart-type de 1. Toute autre distribution normale peut en être dérivée par une simple transformation linéaire : μ + σ * Noise(x, NOISE_NORMAL), avec la valeur moyenne μ et l'écart-type σ souhaités.

Les nombres aléatoires distribués de manière exponentielle sont dérivés des nombres aléatoires distribués uniformément en utilisant la méthode de transformation. Les nombres aléatoires générés ont un lambda de 1. En les divisant, vous pouvez générer à partir de là n'importe quelle autre distribution exponentielle : Noise(x, NOISE_EXPONENTIAL) / λ, avec le lambda λ souhaité.

Les deux méthodes de transformation, entre autres, sont décrites dans [2].

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

Noise(1)

Renvoi 0,8499 (aléatoire)

x = (1000, 0.1 s, 0.01 s)
Signal(0.5 V + 0.5 V * Noise(x), x)
 

Génère un signal avec 1000 nombres aléatoires uniformément distribués dans l'intervalle [0, 1] V et avec une composante X de 0 s à 10 s.

3. + 2. * Noise(1#100, NOISE_NORMAL)

Génère une série de données avec 100 nombres aléatoires normalement distribués avec une moyenne de 3 et un écart-type de 2.

Voir aussi

Objet Analyse du signal

Littérature

[1] "William H. Press et al.": "Numerical Recipes in C, Second Edition". http://www.agner.org/random/theory, le 2001.

[2] "William H. Press et al.": "Numerical Recipes in C, Second Edition", page 274. "Cambridge University Press", 1992. ISBN 0-552-43108-5.