
Nelson est un environnement de calcul scientifique open-source conçu pour l'analyse numérique, la visualisation de données et le développement d'algorithmes.
Nelson fournit des fonctions mathématiques, des structures de données et des outils de visualisation pour les flux de travail de calcul numérique.
Cette documentation sert de guide de référence complet sur les fonctions intégrées de Nelson, son système de modules et ses capacités de programmation - des opérations mathématiques de base aux tâches de calcul avancées.
Le gestionnaire de fonctions fournit des outils pour gérer et interagir avec le chemin de recherche des fonctions de Nelson et les types de fonctions.
Il comprend des commandes pour ajouter ou supprimer des répertoires du chemin de recherche, exécuter des fonctions intégrées, effacer des fonctions intégrées, évaluer des fonctions, et plus encore.
Des utilitaires sont disponibles pour vérifier l'existence de fonctions intégrées, macro ou mex.
Le gestionnaire de modules (Modules Manager) de Nelson fournit l'infrastructure pour étendre et gérer l'environnement à l'exécution.
Il permet d'ajouter, de supprimer et d'interroger dynamiquement des modules, rendant le système flexible et adapté à différents flux de travail.
Avec la prise en charge des modules internes et externes, le gestionnaire traite les métadonnées, les chemins et la gestion des versions des modules.
Il fournit également des utilitaires pour organiser les boîtes à outils définies par l'utilisateur, gérer les gateways et garantir que les dépendances sont correctement chargées.
Ce cadre simplifie la distribution, l'intégration et la maintenance des modules, formant l'épine dorsale de l'architecture modulaire de Nelson.
Le module core fournit les éléments fondamentaux de l'environnement Nelson.
Il comprend des services essentiels pour l'exécution de programmes, la gestion de l'environnement et l'interaction avec le système.
Grâce à ce module, les utilisateurs peuvent évaluer le code de manière dynamique, gérer le flux d'exécution, interroger l'état du programme et accéder à des informations clés sur le système telles que la version, la configuration et la licence.
Il offre également des utilitaires de base pour l'identification des fichiers, les sommes de contrôle et les capacités du terminal.
Ensemble, ces fonctionnalités forment la base sur laquelle tous les autres modules et fonctionnalités au niveau utilisateur dans Nelson sont construits.
Il fournit aussi l'espace de noms crypto : hachages, HMAC, Ed25519 et X25519, Argon2, chiffrement authentifié et aléa sécurisé.
Le module Engine gère l'environnement d'exécution de Nelson lui-même.
Il fournit des mécanismes pour gérer le démarrage et l'arrêt du programme, l'intégration en ligne de commande et les modes d'exécution.
Cela inclut le support des scripts d'initialisation et de terminaison définis par l'utilisateur, les exigences système spécifiques à la plateforme et les directives d'interpréteur pour l'exécution de scripts multiplateforme.
Il sert d'interface principale entre Nelson et le système d'exploitation sous-jacent pour configurer et contrôler le lancement du logiciel.
Le module Fonctions de l'interpréteur fournit les constructions de langage de base et les mécanismes de contrôle qui définissent le flux d'exécution dans Nelson.
Il inclut des éléments essentiels tels que les boucles, les branchements conditionnels, la gestion des erreurs et les déclarations de fonctions.
Le module propose également des outils pour analyser la syntaxe et la qualite du code, travailler avec les mots-clés et gérer les limites de récursion.
Ensemble, ces fonctionnalités établissent la syntaxe et la sémantique fondamentales du langage Nelson, permettant aux utilisateurs d' écrire des programmes structurés, dynamiques et fiables.
Le module Error Manager fournit les mecanismes de gestion des erreurs et des avertissements dans Nelson.
Il definit comment les exceptions sont creees, levees et relancees, ainsi que la maniere de recuperer les informations diagnostiques apres une erreur ou un avertissement.
Ce module permet de controler l'execution apres un echec, de recuperer des diagnostics et d'afficher des avertissements sans arreter le programme.
Il fournit les primitives communes d'erreurs et d'avertissements utilisees par le code Nelson.
Le module Console gere l'interaction avec la fenetre de commande de Nelson.
Il fournit des outils pour controler l'affichage, gerer les entrees utilisateur et interroger les proprietes du terminal.
Ces fonctions permettent aux scripts et applications de communiquer avec l'utilisateur par la console et d'adapter la sortie au terminal courant.
Le module Text completion fournit les candidats de completion pour les lignes de commande, editeurs et terminaux Nelson.
Le module Format d'affichage définit la manière dont les valeurs, variables et expressions sont présentées dans Nelson.
Il offre un contrôle sur le formatage numérique, la représentation du texte et la façon dont les résultats sont affichés dans la console.
Le module fournit également des mécanismes pour capturer la sortie formatée de manière programmatique, permettant à la fois un affichage lisible par l'humain et un traitement programmatique des résultats.
Cela garantit une grande flexibilité dans la présentation et la réutilisation des informations au sein de scripts et d'applications.
Le module d'encodage des caracteres fournit des outils pour convertir entre les representations d'octets natives et les caracteres Unicode.
Il permet aux scripts de lire et manipuler du texte dans plusieurs encodages, sur differentes plateformes et locales.
Le module inclut aussi la detection des jeux de caracteres compatibles avec une entree donnee.
Le module de localisation gère les paramètres de langue et l'internationalisation dans Nelson.
Il fournit des mécanismes pour interroger les langues disponibles, déterminer la langue actuelle et par défaut, et changer dynamiquement la langue de l'interface.
Ce module garantit que Nelson peut être adapté à différentes préférences linguistiques et régionales, en prenant en charge une expérience utilisateur multilingue.
Le module i18n fournit des outils pour l'internationalisation et la localisation du texte dans Nelson.
Il obtient les chaînes traduites pour la locale courante, fournit des utilitaires pour les flux de travail de traduction et génère des en-têtes de fichiers de traduction.
Ce module aide les développeurs à créer des logiciels pouvant s'adapter dynamiquement à plusieurs langues et contextes culturels.
Le module Types fournit des outils pour gérer et inspecter les types de données dans Nelson.
Il permet aux utilisateurs d'interroger la nature des variables, de distinguer les types numériques, logiques, de chaîne et d'objet, et de travailler avec des types spécialisés tels que les tableaux creux (sparse) ou entiers.
Le module prend également en charge la création d'objets et la validation des noms de variables, contribuant à garantir la sécurité des types et la cohérence des scripts et fonctions.
Pour le code C++ d'extension et d'intégration, voir API C++ des valeurs.
Le module de type logique fournit des outils pour travailler avec les valeurs booléennes et les opérations logiques dans Nelson.
Il permet la création, la conversion et la manipulation de données logiques, en prenant en charge des opérations logiques fondamentales essentielles pour le contrôle de flux, l'évaluation conditionnelle et la prise de décision dans les scripts et programmes.
Le module Single fournit des outils pour gérer les valeurs numériques en simple précision dans Nelson.
Il permet la conversion de variables au format simple précision, permettant un stockage et un calcul efficaces tout en maintenant une précision numérique suffisante pour de nombreuses applications.
Le module Type Double fournit des outils pour gerer les valeurs numeriques en precision double dans Nelson.
Il convertit les valeurs en double precision et donne acces aux principales limites numeriques des nombres a virgule flottante.
Le module Types entiers fournit des outils pour travailler avec des entiers signés et non signés de différentes tailles dans Nelson.
Ces types sont particulièrement utiles pour stocker et traiter efficacement de grands jeux de données, tels que des images ou de grands tableaux numériques.
Le module prend en charge les conversions entre formats entiers et fournit l'accès aux valeurs minimale et maximale représentables pour chaque type entier, garantissant des calculs entiers sûrs et précis.
Le module Type Sparse fournit des outils pour créer et manipuler des matrices creuses dans Nelson.
Il prend en charge le stockage et le calcul efficaces pour les matrices avec un grand nombre d'éléments zéro, y compris la conversion entre les représentations creuses et pleines, la génération de matrices creuses spéciales, et l'accès aux éléments non nuls.
Ce module permet une gestion efficace en mémoire de grands ensembles de données et des opérations numériques optimisées sur des structures creuses.
Le module Type Chaîne fournit des outils complets pour créer, manipuler et analyser du texte dans Nelson.
Il prend en charge la conversion entre tableaux de caractères et tableaux de chaînes, la concaténation, le nettoyage, la justification et la conversion de casse.
Le module inclut également des fonctions pour rechercher, faire correspondre, remplacer et formater des chaînes, permettant un traitement textuel flexible pour des opérations simples ou avancées.
Fonctions pour creer du texte, le formater et convertir entre texte et autres donnees.
Fonctions pour verifier le type, la longueur et les proprietes des caracteres.
Fonctions pour localiser, compter, effacer et remplacer du texte.
Fonctions de construction de motifs et definitions de limites pour la correspondance de texte.
Recherche, remplacement, traduction et aides de motifs par expressions regulieres.
Fonctions pour extraire des parties de texte et combiner ou separer des valeurs texte.
Fonctions pour rogner, completer, inserer, inverser et changer la casse du texte.
Fonctions pour comparer et faire correspondre des valeurs texte.
Le module Function Handle fournit des outils pour créer et gérer les function handles dans Nelson.
Il prend en charge les fonctions anonymes, la conversion entre chaînes et function handles, ainsi que la vérification des objets function_handle.
Ce module permet une invocation de fonctions flexible et dynamique, autorisant le passage, le stockage et l'exécution programmatiques de fonctions.
Le module Handle fournit des outils pour créer et manipuler des objets handle dans Nelson.
Les objets handle sont des références légères vers des structures de données plus volumineuses, permettant une gestion efficace de la mémoire et le partage de données entre différentes parties d'un programme.
Ce module inclut des fonctions pour créer, copier et détruire des objets handle, ainsi que pour gérer leur durée de vie et garantir un nettoyage approprié.
Il inclut aussi les fonctions de reflection classdef, d'evenements, d'ecouteurs, de proprietes dynamiques, de references faibles et de handles invalides types.
Le module Structures de données fournit des outils pour créer, manipuler et inspecter des tableaux, cellules et structures dans Nelson.
Il permet la conversion entre différents formats de données, l'accès et la modification des champs, l'application de fonctions aux éléments de tableaux et l'organisation des données structurées.
Ce module gère les données complexes au moyen d'opérations programmatiques et d'une gestion dynamique des données.
Le module Dictionnaire fournit des outils pour travailler avec des paires clé-valeur dans Nelson.
Il permet la création et la configuration de dictionnaires avec des types définis pour les clés et les valeurs, la consultation et la modification des entrées, ainsi que la gestion de la structure globale.
Ce module permet un stockage, une récupération et une manipulation efficaces des données indexées par des clés uniques, ce qui le rend adapté aux tableaux associatifs, recherches et gestion dynamique des données.
Les variables dictionnaire peuvent etre conservees dans des fichiers MAT et NH5, et les dictionnaires peuvent etre echanges comme fichiers JSON avec readdictionary et writedictionary.
Le module Tables fournit des outils pour creer, acceder et manipuler des donnees tabulaires dans Nelson.
Les tables sont des structures de type tableau avec des variables nommees (colonnes), chacune pouvant contenir differents types de donnees.
Les metadonnees de table sont disponibles avec T.Properties, et des fonctions permettent d'ajouter, de deplacer, de renommer, de supprimer et de resumer les variables.
Les timetables stockent des variables tabulaires avec des temps de lignes et fournissent le tri temporel, le retiming, la synchronisation et les requetes de plage.
Fonctions pour creer des tables et timetables et convertir entre donnees tabulaires et autres formes.
Pages pour lire et ecrire des donnees de table.
Fonctions pour taille de table, controles de type et apercus rapides.
Fonctions et rubriques pour acceder, trier, reorganiser et personnaliser le contenu de tables.
Fonctions pour combiner des tables avec des jointures et operations associees.
Fonctions et rubriques pour calculs directs et application de fonctions aux lignes ou variables de table.
Fonctions pour intervalles de timetable, evenements, synchronisation et retiming.
Le module Categorical fournit des tableaux dont les elements appartiennent a un ensemble fixe de categories textuelles.
Le module Surcharge fournit des mécanismes pour personnaliser le comportement des fonctions et des opérateurs dans Nelson.
Il permet aux utilisateurs de définir comment les opérations standard ou les fonctions intégrées doivent se comporter lorsqu'elles sont appliquées à des types ou objets définis par l'utilisateur.
Cette fonctionnalité étend les capacités du langage Nelson pour les structures de données personnalisées.
Le module Operators fournit des outils pour effectuer des opérations arithmétiques, logiques, relationnelles et sur tableaux dans Nelson.
Il prend en charge les calculs élément par élément et matriciels, la concaténation, l'indexation et l'affectation par indices, ainsi que les opérations logiques à court-circuit.
Ce module permet une manipulation flexible des structures de données et des tableaux numériques, constituant la base des calculs simples comme des expressions mathématiques avancées.
Le module Constructeurs fournit des outils pour créer des valeurs numériques fondamentales, des scalaires, des vecteurs et des matrices dans Nelson.
Il comprend des constantes, des matrices identité et diagonales, et des valeurs spéciales telles que l'infini, NaN et la précision machine.
Ce module constitue la base pour initialiser les structures de données et effectuer des calculs mathématiques et numériques.
Le module Fonctions elementaires fournit les operations mathematiques de base et les manipulations de matrices dans Nelson.
Il inclut les calculs numeriques, les operations sur tableaux et matrices, la gestion des nombres complexes, l'arrondi et la mise a l'echelle, ainsi que les fonctions qui interrogent les proprietes des tableaux et matrices.
Le module construit aussi des matrices speciales, des grilles et des sequences pour les algorithmes mathematiques et l'analyse numerique.
Fonctions pour creer, remodeler et organiser des tableaux.
Fonctions numeriques elementaires, normes, arrondis, puissances, racines, logarithmes et restes.
Fonctions pour valeurs complexes et variantes reelles de fonctions elementaires.
Fonctions pour conversion de base numerique, conversion de type et ordre des octets.
Fonctions pour generer des matrices speciales.
Fonctions pour indexation, dimensions, controles de forme, reorganisation et predicats structurels.
Le module Fonctions trigonometriques fournit les fonctions de base pour les calculs trigonometriques dans Nelson.
Il inclut sinus, cosinus, tangente, leurs inverses et leurs variantes hyperboliques. Les fonctions acceptent des angles en degres ou en radians selon l'interface appelee.
Il fournit aussi les conversions entre degres et radians.
Le module Fonctions Spéciales fournit des outils pour effectuer des opérations mathématiques avancées dans Nelson.
Il inclut des fonctions pour les distributions statistiques, les calculs combinatoires, et d'autres calculs mathématiques spécialisés qui sont essentiels dans diverses applications scientifiques et d'ingénierie.
Ce module améliore les capacités de Nelson en offrant une gamme de fonctions qui supportent des analyses complexes et des tâches de modélisation.
Le module Algèbre Linéaire fournit des outils complets pour effectuer des calculs matriciels et vectoriels dans Nelson.
Il inclut des fonctions pour la factorisation, la décomposition, l'inversion et l'analyse de matrices, ainsi que des opérations sur les valeurs propres, valeurs singulières et sous-espaces.
Le module prend en charge des méthodes numériques avancées pour évaluer les propriétés des matrices, les nombres de condition et les transformations, permettant des solutions efficaces et précises pour un large éventail de problèmes d'algèbre linéaire.
Fonctions pour resoudre, analyser et mesurer des systemes lineaires et quantites vectorielles ou matricielles.
Fonctions de factorisation matricielle et de rotation plane.
Fonctions pour calculs de valeurs propres, valeurs singulieres et formes de Schur.
Fonctions qui evaluent des fonctions elementaires sur des matrices.
Fonctions pour estimations de conditionnement, controles de structure et proprietes matricielles.
Solveurs iteratifs pour systemes lineaires.
Le module Statistiques fournit des outils pour analyser et resumer des donnees dans Nelson.
Il comprend des fonctions pour calculer des mesures de tendance centrale, de variabilite, de correlation et des distributions de probabilites.
Le module prend egalement en charge des structures avancees de synthese de donnees pour une estimation precise des quantiles, permettant une analyse statistique robuste et l'interpretation des jeux de donnees.
Fonctions pour resumer, explorer, classer et visualiser des donnees statistiques.
Fonctions de distribution pour densite, probabilite cumulee, probabilite inverse, ajustement, vraisemblance, tirage aleatoire et statistiques de synthese.
Tests statistiques pour ajustement de distribution, position, variance, rangs, independance et comparaisons.
Fonctions d analyse de variance.
Fonctions de regression, correlation et prediction supervisee.
Fonctions de modeles de classification et aides pour donnees groupees.
Fonctions d apprentissage non supervise, recherche de plus proches voisins, gestion des valeurs aberrantes et modeles de sequences.
Fonctions de reduction de dimension, analyse factorielle, classement de variables et representations de faible rang.
Fonctions pour plans d experiences et configuration de modeles.
Le module Analyse de donnees fournit des outils pour effectuer des operations numeriques et des analyses basees sur des tableaux dans Nelson.
Il prend en charge les operations cumulatives, le tri, l'agregation, la convolution et l'identification des valeurs uniques ou manquantes.
Ce module couvre le traitement, le resume et l'exploration de jeux de donnees sous forme de tableaux.
Le module ODE Solvers fournit des fonctions d'integration en temps pour les problemes differentiels explicites, raides et implicites dans Nelson.
Il inclut les points d'entree des solveurs, les wrappers pour equations a retard et problemes aux limites, la gestion des options, l'interpolation, l'extension des solutions, la detection d'evenements et les definitions de problemes orientees objet.
Quand le backend optionnel SUNDIALS est construit, le workflow objet peut aussi selectionner des valeurs de solveur CVODES et IDAS.
Le module vise les experiences numeriques, les simulations et les exemples pedagogiques qui demandent une configuration compacte et des objets de resultats reproductibles.
Les tutoriels couvrent le choix du solveur, les evenements, les tolerances, les matrices de masse, les equations implicites, les equations a retard, les problemes aux limites, l'interpolation, l'extension, les workflows objet et les etats complexes.
| Domaine | Entrees principales |
|---|---|
| Problemes a valeur initiale | ode23, ode45, ode78, ode89, ode113, ode15s, ode15i |
| Equations a retard et problemes aux limites | dde23, ddesd, ddensd, bvp4c, bvp5c |
| Utilitaires | odeset, deval, odextend, ode, odeEvent, odeSensitivity |
Le module Polynomials fournit des outils pour créer, manipuler et analyser des polynômes dans Nelson.
Il prend en charge l'évaluation, la différentiation, l'intégration, l'ajustement (fitting), la recherche de racines et les opérations sur polynômes matriciels.
Ce module permet une gestion efficace des expressions polynomiales pour la modélisation mathématique, l'ajustement de courbes et l'analyse numérique.
Le module Geometrie fournit des outils pour effectuer des transformations et calculs geometriques dans Nelson.
Il prend en charge les rotations en espace tridimensionnel, les enveloppes convexes, les triangulations de Delaunay, les diagrammes de Voronoi, les recherches spatiales et l'interpolation de donnees dispersees.
Ce module est utile pour l'infographie, la robotique, la geometrie algorithmique, l'interpolation et l'analyse spatiale.
Le module Système de Contrôle fournit des algorithmes et des outils pour concevoir, analyser et ajuster des systèmes de contrôle linéaires dans Nelson.
Il prend en charge les modèles d'espace d'état et de fonction de transfert, les transformations de système entre temps continu et discret, et le calcul des pôles, zéros et réponses en fréquence.
Le module comprend également des fonctionnalités pour l'équilibrage des systèmes, l'analyse de contrôlabilité et d'observabilité, la conception de régulateurs et d'estimateurs, et la simulation des réponses des systèmes dynamiques.
Ces outils permettent une modélisation, une analyse et un contrôle robustes des systèmes dynamiques linéaires pour les applications d'ingénierie et de recherche.
Fonctions pour creer, inspecter et reduire des modeles de systemes dynamiques.
Fonctions pour conversion, composition, selection et interconnexion de modeles.
Fonctions pour analyse temporelle, frequentielle et reponse de modeles.
Fonctions de simulation et de reponse pour systemes dynamiques.
Fonctions pour conception de controleurs, estimateurs et calculs de regulateurs.
Calculs matriciels orientes commande pour analyse en espace d etat.
Le module SLICOT fournit des algorithmes numériques avancés pour les calculs en automatique et théorie des systèmes.
Il comprend des outils pour la factorisation de matrices, l'équilibrage de systèmes, l'analyse de stabilité, l'affectation de pôles et la résolution des équations de Lyapunov, Riccati et Sylvester.
Le module prend en charge les systèmes temps continu et discret, y compris les systèmes descripteurs et multi-entrées, permettant une analyse, une conception et un contrôle précis et efficace des systèmes dynamiques complexes.
Le module Traitement du signal fournit des outils pour analyser, filtrer, transformer et reechantillonner des signaux echantillonnes dans Nelson.
Il inclut des fonctions de fenetrage, de conception de filtres FIR et IIR, de filtrage numerique, de conversions poles-zeros et sections du second ordre, de correlation croisee, et de conversions entre representations en magnitude, puissance et decibels.
Le module prend egalement en charge le traitement multirate, l'estimation spectrale, l'analyse temps-frequence, la generation de formes d'onde et les mesures courantes de signal.
Fonctions pour creer, reechantillonner, lisser, filtrer et preparer des signaux.
Mesures, caracteristiques et metriques de qualite des signaux.
Transformees, estimations de correlation, coherence et estimations de fonctions de transfert.
Fonctions de conception, analyse, conversion et implementation de filtres.
Fonctions de spectre de puissance, fenetres et conversions d echelle.
Fonctions de representation temps-frequence et temps court.
Le module FFTW fournit des outils pour calculer les transformées de Fourier rapides dans Nelson.
Il prend en charge les transformées unidimensionnelles, bidimensionnelles et multidimensionnelles, ainsi que les transformées inverses et les manipulations dans le domaine fréquentiel.
Le module permet une analyse spectrale et un traitement du signal efficaces, en s'appuyant sur des algorithmes haute performance pour les données réelles et complexes.
Le module Random fournit des outils pour générer des nombres aléatoires et des séquences aléatoires dans Nelson.
Il prend en charge les distributions uniforme et normale, la génération d'entiers aléatoires, les permutations et le contrôle de l'état du générateur de nombres aléatoires.
Ce module est essentiel pour les simulations, la modélisation probabiliste et les calculs stochastiques.
Le module Fonctions OS fournit des outils pour interagir avec le système d'exploitation dans Nelson.
Il inclut des fonctions pour interroger les informations système, gérer les variables d'environnement, exécuter des commandes shell, générer des GUID et effectuer des opérations spécifiques à la plateforme.
Ce module permet aux scripts Nelson d'interagir avec le système d'exploitation sous-jacent sur Windows, macOS et Linux/Unix.
Le module Fichiers et Dossiers fournit des outils pour gérer les fichiers, répertoires et chemins dans Nelson.
Ce module prend en charge la navigation du système de fichiers, la création et la suppression de fichiers et répertoires, l'interrogation des propriétés, la construction et la résolution de chemins, ainsi que la gestion des séparateurs spécifiques à la plateforme.
Ce module permet des opérations sur le système de fichiers efficaces et multi-plateformes dans les scripts et applications Nelson.
Le module File Archiver fournit des outils pour compresser et décompresser des fichiers dans Nelson.
Il prend en charge la création d'archives zip et l'extraction de fichiers depuis des archives zip, permettant un stockage, un partage et une gestion efficaces des fichiers.
Le module Memory Manager fournit des outils pour gerer les variables et la memoire dans Nelson.
Il prend en charge la creation, l'affectation, l'interrogation et la suppression de variables dans differentes portees, ainsi que la gestion des variables globales et persistantes.
Le module permet aussi d'inspecter la memoire, de verrouiller des variables et d'enumerer le contenu de l'espace de travail.
Le module Time fournit des outils pour travailler avec les dates, les heures et les durées dans Nelson.
Il permet d'interroger l'heure courante, de mesurer le temps écoulé, d'effectuer des calculs sur les dates et heures, de convertir entre différentes représentations temporelles et de gérer des opérations liées au calendrier telles que les années bissextiles et la fin de mois.
Ce module permet une gestion précise du temps, la planification et la mesure de performance dans les scripts et applications.
Fonctions pour creer des valeurs date et heure et des representations de date alternatives.
Fonctions pour durees de longueur fixe et durees calendaires.
Fonctions pour extraire et separer les composants de date et heure.
Fonctions pour decalages, differences, intervalles de dates et temps ecoule.
Predicats et fonctions de requete pour dates, heures, durees et fuseaux horaires.
Conversions entre valeurs de date et heure, texte et systemes numeriques de temps externes.
Objets timer, planification, attentes et utilitaires de mesure du temps.
Series temporelles, collections, evenements, metadonnees et operations associees.
Le module Stream Manager fournit des outils pour gerer les flux d'entree et de sortie dans Nelson.
Il prend en charge la lecture et l'ecriture de donnees texte et binaires dans des fichiers, la gestion des positions dans les fichiers, la detection de la fin de fichier et la gestion des erreurs de fichier.
Le module gere aussi la journalisation de session ainsi que le chargement et la sauvegarde des donnees de l'espace de travail.
Le module HDF5 fournit un support pour travailler avec des fichiers au format Hierarchical Data Format (HDF5) dans Nelson.
Il permet de créer des jeux de données, de lire et d'écrire des données et attributs, et d'explorer le contenu des fichiers.
En plus du support HDF5 standard, il inclut des utilitaires pour le format natif de Nelson .nh5, permettant d'enregistrer, charger et inspecter efficacement les variables de l'espace de travail.
Ce module est essentiel pour gérer des données scientifiques volumineuses, structurées et portables.
Le module MATIO prend en charge la lecture et l'écriture de fichiers MAT, un format utilisé par plusieurs environnements de calcul numérique pour stocker des données numériques.
Il permet à Nelson de vérifier la validité d'un fichier MAT, de charger et sauvegarder des variables d'espace de travail, et d'inspecter le contenu des fichiers.
Ce module permet l'échange de données entre Nelson et des environnements compatibles avec les fichiers MAT dans les flux de travail scientifiques et d'ingénierie.
Le module XML fournit des fonctions pour créer, convertir et gérer des documents XML pour Nelson.
Le module JSON fournit des fonctions pour encoder, décoder et formater des données JSON, permettant l'échange facile d'informations structurées entre Nelson et des systèmes externes.
JSON (JavaScript Object Notation) est un format de données texte léger largement utilisé pour transmettre des paires attribut-valeur et des tableaux.
Ce module permet à Nelson d'interopérer avec des services web, des fichiers de configuration et des applications qui utilisent JSON.
Le module Parquet fournit le support des fichiers locaux Apache Parquet.
Il permet de lire et d'ecrire des tables orientees colonnes, d'obtenir les metadonnees d'un fichier et de traiter un ou plusieurs fichiers Parquet avec un datastore et des filtres de lignes.
Les variables de table prises en charge incluent les valeurs logiques, les types entiers, les nombres flottants simple et double precision, le texte, les valeurs datetime, les durees, les tables imbriquees stockees comme colonnes struct, et les cellules homogenes de vecteurs primitifs stockees comme colonnes list.
Le module Feuille de calcul fournit des fonctions pour lire et écrire des données tabulaires depuis et vers des formats de feuille de calcul basés sur du texte, tels que CSV et les fichiers séparés par délimiteurs.
Il prend en charge l'importation vers différents types de données comme les tableaux numériques, les cellules de chaînes et les tables, ainsi que leur exportation vers des fichiers.
Ce module permet d'échanger des données avec des logiciels de tableur (Excel, LibreOffice Calc, etc.) et avec d'autres applications.
Dans le domaine du calcul parallèle, le Message Passing Interface (MPI) est la norme de facto pour implémenter des programmes sur plusieurs processeurs.
Ce module fournit des fonctions pour initialiser, gérer et finaliser des environnements MPI, ainsi que pour effectuer la communication entre processus, à la fois point à point et collective.
Il permet aux programmes Nelson de s'exécuter efficacement sur des systèmes à mémoire distribuée et des clusters.
Note : le support MPI n'est pas disponible sur l'architecture Windows on ARM64 (woa64).
Le module parallel fournit des outils pour exécuter des calculs de manière asynchrone en arrière-plan, gérer la planification des tâches et récupérer les résultats.
Il permet aux programmes Nelson d'exécuter des fonctions de manière concurrente, améliorant l'efficacité et la réactivité en déléguant le travail à des workers en arrière-plan.
Le module ipc fournit des outils de base pour interagir avec les processus et permettre la communication entre eux.
Il permet de récupérer les identifiants de processus et d'utiliser un objet communicateur pour échanger des informations entre les processus Nelson.
Le module audio fournit des fonctions pour lire, écrire, analyser et jouer des fichiers audio.
Il prend en charge le contrôle de lecture via l'objet audioplayer, la manipulation des propriétés de lecture et la gestion des métadonnées.
Il comprend également des utilitaires pour la conversion de signaux et la génération de sons.
Le module History Manager de Nelson fournit des outils pour accéder et gérer l'historique des commandes de votre session.
Il permet aux utilisateurs de revoir les commandes exécutées précédemment, de les rappeler pour les réutiliser et de maintenir un flux de travail organisé.
Le module GUI fournit des fonctions pour créer et interagir avec les composants d'interface graphique, les boîtes de dialogue et les fenêtres d'application.
Le module Moteur QML permet aux programmes Nelson d'afficher, manipuler et interagir avec du contenu graphique en utilisant le framework QML de Qt.
Il fournit des fonctions pour gérer les composants QML, accéder aux objets Qt et intégrer la logique JavaScript et QML.
Le module Éditeur de texte fournit un éditeur intégré à Nelson pour créer, éditer et formater des scripts et fichiers Nelson.
Le module graphique fournit des fonctions pour créer, personnaliser et gérer des graphiques, figures, palettes de couleurs et objets graphiques.
Il inclut la visualisation 2D et 3D, des outils d'interaction utilisateur (zoom, déplacement, rotation), et des utilitaires pour travailler avec les couleurs, légendes, axes et annotations de texte.
Fonctions regroupees par type de visualisation, notamment les lignes, distributions, donnees discretes, graphiques polaires, contours, champs de vecteurs, surfaces, volumes, polygones et animations.
Fonctions pour les courbes, les traces de fonctions et les traces avec barres d'erreur.
Fonctions pour creer et configurer des graphiques polaires.
Fonctions pour le calcul de contours, les graphiques de contours et leurs etiquettes.
Fonctions pour les histogrammes, nuages de points, graphiques de distribution et visualisations de synthese de donnees.
Fonctions pour les champs de vecteurs et les visualisations de flux.
Fonctions pour les diagrammes en barres, traces en tiges, diagrammes circulaires et autres affichages de donnees discretes.
Fonctions pour les surfaces, maillages, volumes, zones remplies et graphiques polygonaux.
Fonctions pour les graphiques animes et les mises a jour dynamiques de points.
Fonctions et pages de reference pour la gestion des objets graphiques, objets de disposition, objets d'interface utilisateur et proprietes d'objets.
Fonctions pour creer, rechercher, interroger, effacer et fermer des objets graphiques.
Fonctions pour organiser plusieurs graphiques et travailler avec les dispositions en tuiles.
Fonctions pour les controles d'interface utilisateur, menus et menus contextuels.
Pages de reference des proprietes visibles des objets graphiques, types de valeurs pris en charge et actions associees.
Fonctions pour les etiquettes, annotations, apparence des axes, couleurs, interactions, vues camera et eclairage.
Fonctions pour les limites d'axes, graduations, grilles, boites et rapports d'aspect.
Fonctions pour les couleurs, palettes de couleurs, limites de couleur, ordre des couleurs et style de rendu.
Fonctions pour creer, selectionner et lister les palettes de couleurs.
Fonctions pour les graphiques interactifs, callbacks, vues camera et eclairage.
Fonctions pour les titres, etiquettes d'axes, legendes, barres de couleur, texte et annotations.
Fonctions pour afficher des images, convertir des frames et lire des frames enregistrees.
Le module Graphics I/O fournit des fonctions pour importer, exporter et gérer le contenu graphique et les formats d'image.
Il prend en charge la lecture et l'écriture de fichiers image, la copie de figures et l'enregistrement de tracés dans divers formats pour l'interopérabilité avec d'autres applications.
Le module Image Processing fournit des operations pour manipuler les images et volumes, notamment conversion de type, conversion couleur, ajustement du contraste, filtrage, morphologie, composants connexes, mesures de regions, transformations geometriques, redimensionnement, rotation, detection de points caracteristiques, bases du traitement 3-D et recalage d'images.
Les pages d'aide sont regroupees en chapitres thematiques : bases de l'image, analyse et segmentation d'images, puis geometrie, recalage et traitement 3-D.
Fonctions pour classes d'images, espaces couleur, ajustement du contraste, seuillage, filtrage, padding et detection de contours.
Fonctions pour la conversion de type d'image, la conversion d'espace couleur et la conversion d'images indexees.
Fonctions pour l'ajustement du contraste, le choix de seuil, l'analyse d'histogramme et la creation d'images binaires.
Fonctions pour le filtrage spatial, le filtrage gaussien ou median, le remplissage, les noyaux de filtre et la detection de contours.
Fonctions pour morphologie, composants connexes, suivi de frontieres, mesures de regions, reconstruction et segmentation.
Fonctions pour les operations morphologiques binaires et en niveaux de gris, le nettoyage d'objets, le nettoyage des bords et les elements structurants.
Fonctions pour les composants connexes, les etiquettes, les mesures de regions, la selection et le suivi de frontieres.
Fonctions pour segmenter les images avec la croissance de region, les contours actifs, la reconstruction morphologique, les h-minima/maxima, les extrema regionaux, les minima imposes et les transformations watershed.
Fonctions pour les metriques de coins et la detection de points caracteristiques locaux.
Fonctions pour transformations geometriques, references spatiales, recalage d'images, filtrage volumique, redimensionnement et mesures 3-D.
Fonctions et objets pour le recadrage, le redimensionnement, la rotation, la translation, le referencement spatial et les transformations geometriques dans les workflows 2-D et les bases 3-D.
Fonctions de filtrage et traitement de donnees d'image volumetriques.
Guides et points d'entree pour aligner des images, estimer des transformations de recalage et appliquer les sorties recalees.
Le module WebTools fournit des fonctions pour interagir avec des ressources web, transférer des données via des URLs et travailler avec des services web RESTful.
Le module WebView ouvre du HTML local, du texte HTML, des adresses web et la galerie d’exemples depuis Nelson.
Le module Liens dynamiques permet à Nelson de compiler, charger et appeler du code C/C++ et Fortran à l'exécution.
Il prend en charge la génération de gateways, de loaders et la gestion des bibliothèques partagées pour l'intégration de code compilé externe.
Par défaut, Nelson ne détecte pas automatiquement un compilateur C/C++ sous Windows. N'oubliez pas d'exécuter une foisconfiguremsvc ou configuremingw.
Le module MEX permet au code C/C++ de s'interfacer avec Nelson et d'accéder au moteur, aux variables et aux fonctions de Nelson.
Le module F2C permet aux utilisateurs de Nelson de convertir des fichiers sources Fortran 77 hérités en code C.
Ce module permet de compiler et d'exécuter d'anciennes routines Fortran, et d'interagir avec les variables Nelson depuis les flux de travail Nelson.
Il est particulièrement utile pour réutiliser des algorithmes numériques existants ou des bases de code scientifiques héritées dans un environnement Nelson moderne.
Le module Validators fournit des outils pour appliquer des contraintes et vérifier les valeurs d'entrée dans Nelson.
Il prend en charge la vérification des types de données, des propriétés numériques, des dimensions des matrices et des vecteurs, la validité des textes, l'existence de fichiers et de dossiers, ainsi que les conditions logiques ou numériques.
Ce module assure une validation d'entrée robuste, contribuant à prévenir les erreurs, garantir l'exactitude et améliorer la fiabilité des scripts et fonctions.
Le module Moteur Python permet à Nelson d'appeler du code Python et d'utiliser des bibliothèques Python avec les fonctions Nelson.
Il fournit des fonctions pour exécuter du code Python, gérer les environnements d'interpréteur et échanger des données entre Nelson et Python.
Le module Julia Engine permet à Nelson d'appeler du code Julia et d'utiliser des bibliothèques numériques Julia depuis l'environnement Nelson.
Il fournit des fonctions pour exécuter du code Julia, gérer les environnements d'interpréteur et échanger des données entre Nelson et Julia.
Le module GPU engine exécute des calculs sur tableaux sur le GPU via WebGPU (Dawn), de façon portable sous Windows, Linux et macOS, sans dépendance propriétaire à CUDA.
Les tableaux sont transférés vers le périphérique avec gpuArray et ramenés vers l'hôte avec gather. Les opérateurs et de nombreuses fonctions sont surchargés afin que les expressions sur un gpuArray s'exécutent sur le périphérique et conservent leur résultat résident sur celui-ci.
Les tableaux du périphérique sont stockés en simple précision (WebGPU n'a pas encore de type de calcul double) ; les données réelles, logiques et complexes sont prises en charge. Utilisez canUseGPU pour vérifier la disponibilité et gpuDevice pour inspecter le périphérique sélectionné.
De nombreuses fonctions sont prises en charge sur un gpuArray : les opérateurs, les fonctions mathématiques élément par élément (y compris l'arrondi et les fonctions hyperboliques / trigonométriques inverses), les réductions et balayages (sum, prod, mean, var, std, cumsum, cumprod, sort, find), les fonctions d'extraction complexe, les fonctions de forme et de prédicat, ainsi que les constructeurs zeros/ones/rand/randn via les formes 'gpuArray' / 'like'. Appelez gpuArrayFunctions pour la liste exacte et toujours à jour.
Le module Débogueur de Nelson fournit des fonctions pour inspecter et analyser l'exécution des programmes.
Il est conçu pour aider les utilisateurs à identifier les erreurs, tracer le flux d'exécution et mieux comprendre l'état des variables pendant l'exécution.
Les fonctionnalités de débogage prises en charge par l'éditeur de texte s'intègrent à ces fonctions pour le débogage interactif.
Le module Profiler de Nelson fournit des fonctions pour mesurer et analyser les performances d'exécution du code.
Il aide les utilisateurs à identifier les goulots d'étranglement, optimiser les parties lentes des programmes et améliorer l'efficacité globale.
The Test Manager de Nelson fournit des outils pour les tests automatisés de code, permettant aux utilisateurs de valider les fonctionnalités, d'assurer la correction et de gérer efficacement les cas de test.
Ce module prend en charge la création de sorties de référence, l'exécution de suites de tests et la désactivation conditionnelle des tests.
Le module assert_functions fournit des assertions pour les tests unitaires, les contrats d'execution et les diagnostics.
Toutes les assertions partagent le meme contrat : sans sortie elles levent une erreur en cas d'echec ; avec sorties elles retournent [res, msg].
L'API canonique utilise des noms d'assertion qualifies, par exemple asserts.isequal, asserts.warning et asserts.satisfies.
Le module Help Tools fournit des fonctions pour créer, convertir et gérer la documentation pour Nelson.
Il prend en charge la génération de contenu d'aide dans plusieurs formats, y compris HTML, Markdown, PDF et formats prêts pour le web, permettant aux développeurs de maintenir et de distribuer efficacement une documentation complète.
Le module Optimization fournit la minimisation scalaire, la minimisation sans contrainte, la recherche de zéro, les systèmes non linéaires, les moindres carrés non linéaires, les moindres carrés non négatifs, la programmation quadratique, les options de solveurs et une première couche de modélisation par problème.
Les algorithmes fournis sont des méthodes numériques denses déterministes pour des modèles de petite et moyenne taille dans Nelson.
Le module nflow_blocks fournit les blocs de simulation utilisés par NFlow, avec leurs ports, paramètres, phases et comportements à l'exécution.
NFlow est actuellement publié en version 1.0.0-beta.1 : fonctionnel et testé, mais les détails de ses interfaces et de son format de fichier peuvent encore évoluer selon les retours.
Blocs acausals (physiques) a broches non dirigees, simules nativement par le moteur differentiel-algebrique.
Blocs acausals (physiques) a broches non dirigees, simules nativement par le moteur differentiel-algebrique.
Blocs acausals (physiques) a broches non dirigees, simules nativement par le moteur differentiel-algebrique.
Blocs acausals (physiques) a broches non dirigees, simules nativement par le moteur differentiel-algebrique.
Blocs acausals (physiques) a broches non dirigees, simules nativement par le moteur differentiel-algebrique.
Blocs continus avec etat, mis a jour avec le pas de simulation.
Widgets interactifs de tableau de bord lies aux signaux et parametres pour observer ou piloter un modele en cours d execution.
Blocs echantillonnes qui stockent des valeurs, historiques ou etats discrets.
Blocs pour importer, executer ou compiler des unites de simulation et des modeles.
Blocs booleens et de comparaison pour signaux numeriques.
Blocs de tables de consultation interpolees et directes (1-D, 2-D, n-D et directe).
Operations mathematiques scalaires algebriques.
Blocs avec saturation, seuils, hysteresis ou limites de vitesse.
Blocs qui consomment, affichent ou nomment les signaux.
Blocs qui generent des signaux depuis des parametres, le temps, des etiquettes ou des fichiers.
Blocs évaluant des expressions ou des fonctions Nelson fournies par l'utilisateur.
Blocs de routage, regroupement, annotation et commutation interactive.
Création et édition programmatiques de modèles de blocs-diagrammes nflow.
NFlow est actuellement publié en version 1.0.0-beta.1 : fonctionnel et testé, mais les détails de ses interfaces et de son format de fichier peuvent encore évoluer selon les retours.
Le module FMI de NFlow importe des unités de maquette fonctionnelle (FMU) conformes au standard FMI 3.0 et les exécute comme composants de co-simulation ou de Model Exchange.
NFlow est actuellement publié en version 1.0.0-beta.1 : fonctionnel et testé, mais les détails de ses interfaces et de son format de fichier peuvent encore évoluer selon les retours.
Il lit la description de modèle d'une FMU, expose ses variables et ses interfaces, et soit pilote une co-simulation à pas fixe (la FMU possède son solveur), soit intègre une FMU Model Exchange avec le solveur de NFlow, en enregistrant les sorties de la FMU au cours du temps.
Les fonctions acceptent aussi bien une archive .fmu qu'un répertoire de FMU déjà extrait. Les archives sont décompressées avec un extracteur durci contre le ZIP-slip dans un répertoire temporaire supprimé automatiquement.
Cet import alimente aussi deux blocs dans l'éditeur NFlow (catégorie FMI) : un bloc FMU (co-simulation) et un bloc FMU (ME) (Model Exchange, dont les états continus rejoignent le solveur global du diagramme). Posez un bloc, cliquez sur Browse FMU... pour choisir un .fmu, et ses ports d'entrée et de sortie sont configurés automatiquement d'après la description de modèle. Des diagrammes de démonstration prêts à ouvrir pour plusieurs FMU de référence (VanDerPol, BouncingBall, Dahlquist, StateSpace, Feedthrough) sont fournis dans le répertoire examples du module.
| Domaine | Entrées principales |
|---|---|
| Description de modèle | fmiInfo |
| Co-simulation | fmiCoSimulate |
| Model Exchange | fmiModelExchange |
| Pont Modelica | modelicaInfo, modelicaConfigure, modelicaToFmu |
| Assistant d'import FMU | fmuToBlock |
L'assistant d'import FMU (fmuToBlock) transforme n'importe quelle FMU en bloc nflow d'aspect natif -- ports d'entrée et de sortie d'après la description de modèle, paramètres et icône de la FMU -- prêt à déposer dans une bibliothèque. Il se marie avec le pont Modelica : modelicaToFmu produit une FMU, fmuToBlock l'enveloppe en bloc.
Le pont Modelica permet à un modèle nflow d'inclure un bloc modelica qui référence un modèle Modelica. À la simulation, le modèle est compilé en FMU avec un OpenModelica installé par l'utilisateur puis importé via le chemin FMI ci-dessus, de sorte que des modèles Modelica physiques (acausaux) se simulent aux côtés des blocs ordinaires. modelicaInfo et modelicaConfigure indiquent et sélectionnent l'OpenModelica utilisé ; modelicaToFmu réalise la compilation. Des exemples (RC, RLC, masse-ressort-amortisseur) sont fournis dans le répertoire examples/modelica du module.
L'éditeur nflow est l'environnement de schéma-blocs de Nelson pour construire et simuler des systèmes dynamiques.
Il fournit un éditeur visuel pour câbler blocs et sous-systèmes, enregistrer et charger des diagrammes au format JSON .nflow, et lancer des simulations avec le moteur à pas fixe ou le solveur à pas variable (CVODES), avec détection de franchissement de zéro pour les blocs discontinus.
Les diagrammes peuvent aussi être transformés en code C ou Rust autonome via le générateur de code.
NFlow est actuellement publié en version 1.0.0-beta.1 : fonctionnel et testé, mais les détails de ses interfaces et de son format de fichier peuvent encore évoluer selon les retours.
Interface graphique du gestionnaire de paquets nmm.
Le module optionnel compiler analyse les dependances et construit des applications natives a partir de fichiers .m.
Utiliser ncc pour charger le module a la demande. compiler.build fournit les constructions autonomes avec ou sans console, des options partagees et des resultats en lecture seule avec tables de dependances runtime. Les interfaces nelson.compiler conservent le mode de runtime adjacent. Les tutoriels couvrent plusieurs fonctions, les donnees embarquees et les deux interfaces de construction.